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.