Add test on toleranceMoveToCore and toleranceToInterruptSimulation Values

Raise an error if toleranceMoveToCore > toleranceToInterruptSimulation.
Closes #299
Add a check on toleranceMoveToCore existence if user forgets to provide one in the input file.

Set it as None by default then check that it's not None.
Before this change the error message was unhelpful: "model requires at least 1 argument (2 given)."
Closes #302
Edits to RMG input file parsing. Greater use of InputError class.

To help users with invalid input files (and, down the line, to help a UI) it's better
to raise InputError every time there's a mistake with the user's input file, rather 
than sometimes an AssertError (should only be used for bugs in the code, not mistakes in the 
input), and sometimes a TypeError (definitely not helpful for a novice user to interpret).

I also replaced some tabs with spaces, re-ordered the parameters in saveInputFile to match
the order in which they're read.
Merge branch 'master' of https://github.com/GreenGroup/RMG-Py
Changes to CanTherm for working with Si atoms.

Add Si in the method loadGeometry() so that we can record the mass. Also add
Si as an element that can be recognized when saving a thermo output file.
Merge branch 'new-style-silicon-hydrides' of https://github.com/bslakman/RMG-Py into new-style-silicon-hydrides

Conflicts:
	rmgpy/cantherm/thermo.py
Added energy parameters for Si.

We now have spin orbital coupling energy for Si, as well as the atomic energies for CBS-QB3 and DFT-g03-B3LYP. Also the experimental enthalpy of formation (OK) and (H(298K) - H(OK)).