Proper handling of zero-point energy in CanTherm jobs.

Previously you had to specify the ground-state energy (including ZPE) if
giving a numerical value in the species parameter files. This was less than
ideal since virtually all codes give the V=0 energy (without ZPE) as their
output. This commit changes the way the energy is loaded to better handle
the loading of the ZPE and the scaling with the frequency scale factor.
Don't try to raise exceptions that don't exist.

Perhaps we want more exception types, but if they don't exist we shouldn't raise them.
Add 'coverage' python module to requirements and make a config file for it.

This is for testing code coverage of the unit tests using 
Ned Batchelder's Coverage.py
See http://nedbatchelder.com/code/coverage/
Add 'make test' target to Makefile for running unit tests.

This uses nosetest, and hopefully discovers all the required modules.
We may want to replace it with a special test.py file for more control,
or running example cases, but this seems to work for now.
Added 'eg1' target to Makefile to run the minimal example.

Copies it to a testing/minimal directory, runs it there, with 
both code coverage and profiling turned on.
Fix silent bug in data/thermo.py

This would only cause a problem in the case of an error,
but it would make the reported exception more confusing.
Remove some "from foo import *" statements.

Hope I haven't missed any required imports!
Detect mistakes in Adjacency Lists containing spaces in "{Cd, Cdd}".

The error message that used to occur in this instance was not helpful
for debugging. Hopefully this extra check is not too costly in terms of time.
(We don't read adjacency lists all *that* often).
Added DipoleMoment as unit type in rmgpy.quantity.

So we can handle dipole moments as physical quantities. Note that debye is
not built into the quantities package, so I've added it manually with the
symbol De (since D is taken for the Darcy unit).
Added several transport properties to Species class.

The properties - dipole moment, polarizability, and rotational relaxation
collision number - are needed in order to be able to load Chemkin transport
properties files.
Added functionality for loading/saving of Chemkin transport files.

The new functions in rmgpy.chemkin are loadTransportFile() and
saveTransportFile(). Generally you will load the transport file using the
transportPath parameter in loadChemkinFile(). Currently loadTransportFile()
assumes that all species in the transport file are also in the main Chemkin
file.

The comments in the transport file are discarded. Not sure if there's a
better way to handle them.
New command-line interface for mergeModels.py script.

You now separate each model's set of files to be loaded after a --model1,
--model2, --model3, etc. flag. You must give the main Chemkin file first,
then the corresponding species dictionary. Also new is the ability to give
the transport file for each model, so those can be merged as well.
If Invalid k(E) then repeat calculateMicrocanonicalRates() with more grains.

This carries on indefinitely doubling the number of grains each time.
Eventually I suppose something will crash if you have too many grains,
but that is no worse than the current situation when it stops immediately.

I think this closes #77 - finally! (for now)
Updated data/thermoTest.py with new data from RMG-Java.

I a not sure when or why the estimates stored in this test file
stopped being the same as the estimates we get with either RMG-Py
or RMG-Java, but I replaced them with what RMG-Java *currently* gives.
I.e. if it passes these tests, we are once again the same as RMG-Java.

Most of them now pass, but notice the symmetry number changes for two of the
cyclic molecules c1ccc2ccccc2c1  and C1C=CC=C1. I think we currently
get those wrong.

Also changed the checking to check we're within 0.1 kcal/mol, 0.1 cal/mol/K,
instead of 1% or whatever it used to be.
Increase critical 'n' value below which T^n is ignored in inverseLaplaceTransformMethod.

Hopefully this is the nail in the coffin of issue #77
(The numerics seem to be worst for low n)
Fix typo in recent commit.

Would cause a confusing exception while trying to report a friendly
exception error message. D'oh.
Only save one backup log file, not infinite.

Hopefully this will stop the strange behavior seen on our cluster too
(where the backup IS the same file object as the original, somehow).
I'll hope this closes #92.
Update log header message.
Fix typos in main.py
Remove unnecessary and wild imports.

When a module imports stuff it doesn't need, 
and then another module imports * from it,
then the latter module has stuff without importing it,
and it all gets very confusing.

My aim is that everything explicitly imports just what it needs,
and it's clear where things came from and when.

PyDev is proving somewhat useful in this endeavour, although it's still
a bit confused by Cython.

The unit tests and a couple of example jobs still run as before this commit.
Hopefully nothing in the website or other projects are relying on
"lucky" wild imports.