Modified saveEntry to handle special characters in longDesc
Fixed path error in rmg.main.getGetCommit

Closes #93
Added multiple log backups
Fixed execution time to display beyond 24 hours

Closes #76
Disabled guppy profiling

Presently, several bugs in guppy cause initialization errors when
calling the heapy module. This normally passes an ImportError
exception to the RMG run output, but has been found to result in
segmentation faults that crash RMG runs entirely.

Since we don't really use the profiling for all that much,
disabling heapy completely should be fine until a more stable
release fixes these issues.
Fixed molecule_draw import statements
Fixed additional molecule_draw import errors.
Fixed species/molecule confusion in KineticsDatabase/generateThermoData
Removed references to Molecule.makeHydrogensExplicit
Merge remote-tracking branch 'stroiano/master'.

Wouldn't be a merge, but both branches have fixed the same molecule_draw renaming bugs.
Renamed rmgpy.molecule.molecule_draw to rmgpy.molecule.draw.

The extra "molecule_" was made redundant by the creation of rmgpy.molecule
as a subpackage.
Collected molecule drawing functionality into new MoleculeDrawer class.

This helps clean up the code a bit by limiting the parameters passed
around the various helper functions. Some small refactoring of the code
was also performed, mostly to further shift to the recently-changed graph
format.
When drawing molecules, only include carbon atoms in straight-chain backbone.

When drawing skeletal formulae, only carbon atoms are considered when
determining the longest straight chain. Previously the algorithm was
considering all heavy atoms (to handle the cases of molecules with no
carbon atoms, e.g. H2O2). The new version will try to use only carbon
atoms, then fall back to using all heavy atoms if necessary.
Restored Reaction.draw() to working order.

This method needed a bit of updating in order to work with the new
rmgpy.molecule.draw module. I also needed to make createNewSurface() a
module-level function instead of a method of MoleculeDraw so that it
could also be used inside Reaction.draw().
Moved reaction drawing functionality to new ReactionDrawer class.

This parallels how the molecule drawing functionality is found in the
MoleculeDrawer class. Both MoleculeDrawer and ReactionDrawer are found
in the rmgpy.molecule.draw module.

This lets me work on the reaction drawing without recompiling the
rmgpy.reaction module, which was silly because the molecule drawing
doesn't really benefit from Cythonization.
Draw reactions vertically aligned on backbone of each molecule.

Aligning to the backbone makes it easier to visually follow the reaction,
as the "paired" reactants and products are more likely to be aligned.
This also accounts for smaller things that might shift the alignment off,
such as radical electrons or subscripts. The only downside is that the
reaction arrow is no longer centered vertically in the generated image.
Added length of reaction arrow to ReactionDrawer options.

This allows you to choose the length of the reaction arrow, if you don't
like the default value.
Better algorithm for finding the "best" straight-chain backbone.

The new algorithm chooses the longest straight-chain with the most
carbon atoms. This ensures a minimum of substituents while still
preferring carbon atoms in the backbone. Two illustrative examples are
isobutanol, which should always have the OH drawn in the backbone, and
acetone, which should never have the C=O drawn in the backbone.

Note that the __findLongestPath() method is now the __findPaths() method
to reflect that it is no longer responsible for returning only the
longest path, but all paths between terminal atoms.
Some fixes to species alignment when drawing reactions.

The species should now be vertically aligned to their respective y
coordinates of zero, as returned by the bounding rectangle from the
species drawing. The reaction should also be properly centered in the
reaction drawing canvas.
Prefer horizontal drawing of functional groups in molecules.

For example, an n-propyl group on a benzene ring would now be drawn
horizontally instead of radiating out from the center of the ring.
There is probably an increased likelihood of overlapping functional
groups, but overall I think the change is worth it.