Silence the CoreText PostScript warnings caused by profile graph generation.

On Mac OS X Mavericks, generating the PDF of the profile data generates a lot of 
warnings like this:
CoreText performance note: Client called CTFontCreateWithName() using name "Arial" and got font with PostScript name "ArialMT". For best performance, only use PostScript names when calling this API.
Refactor thermo reading in chemkin files.

Just moving the order of the if/else blocks, to reduce nesting.
Upgrade a few logging lines to warnings when reading chemkin thermo
Check for missing thermo and give better error message.

Closes rwest/RMG-models#26
Better handling and checking of console arguments

Closes rwest/RMG-models#10
rmgpy/qm/mopac.py: Wait for 1 sec for the buffer to write to disc.

Temporary solution to avoid attribute errors from cclib during parsing.
See issue #134
Better error message if it can't save a reaction for some strange reason.
Don't insert a blank line in the SMILES.txt every time.

Just a new line is sufficient.
Save the kinetics file (and prune the unmatched reactions) at the start.

This will help speed up the generation of the partial kinetics.py files, but also
speed up the general algorithm, as reactions that are not "unmatched" can
be taken out of consideration sooner. (If I remember correctly how this works!)
Can now quit when exhausted instead of waiting for input from web front end.

Either call with the --quit_when_exhausted command line option, or set the 
RMG_QUIT_WHEN_EXHAUSTED environment variable before you begin.

This could be useful if you want to batch-start a bunch of jobs just to regenerate
the thermo.py and kinetics.py files, without all the jobs waiting for ever for input.
They will run as far as they can, then quit.
You could, for example, try this:
 
    $ export RMG_QUIT_WHEN_EXHAUSTED=True
    $ find . -name import.sh -execdir sh -c "./import.sh &" \;

or, on a cluster with LSF:

    $ export RMG_QUIT_WHEN_EXHAUSTED=True
    $ find . -name import.sh -execdir sh -c "bsub -q ht-10g  < import.sh" \;
Pass option to official InChI API to ignore stereochemistry.

Took me a while to track down the option and how to pass it around,
but I think this finally closes #138 and silences all those 
   [17:48:35] WARNING: Omitted undefined stereo
warnings that have been plaguing us!
chemkin: Remove wildcard import in favor of an explict _kinetics namespace

From PEP 8 [1]:

  Wildcard imports (from <module> import *) should be avoided, as they
  make it unclear which names are present in the namespace, confusing
  both readers and many automated tools. There is one defensible use
  case for a wildcard import, which is to republish an internal
  interface as part of a public API (for example, overwriting a pure
  Python implementation of an interface with the definitions from an
  optional accelerator module and exactly which definitions will be
  overwritten isn't known in advance).

I use a leading underscore in the name to avoid conflicts with local
'kinetics' variables, and because the imported module is a private
member of chemkin.  We don't want folks using:

  from rmgpy.chemkin import kinetics

[1]: http://legacy.python.org/dev/peps/pep-0008/#imports
chemkin: Factor per-line logic out of readKineticsEntry

Split it into _readKineticsReaction (for the first line) and
_readKineticsLine (for subsequent lines).  This makes reading
readKineticsEntry easier by limiting the scope of local variables and
allowing you to focus on the higher-level logic without line-level
distraction.

I left as many lines unchanged as possible, excepting some reworking
to handle state during the _readKineticsLine loop.  Instead of
maintaining a handful of per-model variables and using 'None' to
detect which have been set, I've used a single 'kinetics' dict and use
key presence to detect which have been set.  The allows subsequent
lines to clobber kinetics entries from previous lines (e.g. shifting
'arrhenius high' to 'arrhenius low') without having to pass around a
bunch of None variables.
Rearrange chemkin parsing a little, for extra lines on a reaction.

Most extra lines are to do with PDep, and only one type of Pdep
rate expression is allowed, so a chain of ELIF statements is correct.
However, any reaction could be duplicate (DUP) or have an explicit
reverse (REV) so these must come last and be handled slightly differently.
Fix bugs in recent changes to chemkin kinetics reading.

This desperately needs some unit tests, to ensure it's reading these
things correctly. For now, I tested it on several thousand reactions 
from the mechanism importer project, and it now gives the same interpretation
as the previous implementation. (With one improvement: PDep reactions gain 
the comment about explicit reverse rates).
Save numbers in {:g} format not {!r} format in prettify function.

The prettify function, originally part of cantherm (3f7c71baa2c07d6bd21aadde853a487dddf503b7)
is used to save entries in the database. It turns all numbers into repr(number),
even if you had previously tried to save them as something else.
Now, it uses {:g} formatting, so instead of
 A = (3600000000000000.0, 'cm^3/(mol*s)')
we now get
 A = (3.6e+15, 'cm^3/(mol*s)')

This will have broad-ranging impacts on file output - I hope they are all positive.
If not, we will have to make it configurable on a case-by-case basis somehow.