Machine Learning Small Molecule Properties in Drug Discovery