mimic the main() method instead of deprecated Main() class of gprof2dot

see
https://code.google.com/p/jrfonseca/source/detail?r=bf25a2abb09bf2cb821832d76900f0dd8326eb8a&repo=gprof2dot

for more info on this change of gprof2dot.

The main method is copied, except the optparser part that reads from
sys.arg. The output of optparser is replaced by an empty Options class
populated with hard-coded options.

Only gprof2dot imports to a limit number of classes, attributes were made.
pip install specific commit of gprof2dot

The use of gprof2dot in RMG-py is tailored to the version of gprof2dot
contained in this commit.

To prevent people with older versions of gprof2dot to run into problems,
we checkout this commit specifically.
Tweaks gprof2dot implementation.

1. Change the wording in the warning when the import fails. 
   (To suggest a different version).
2. Prevent a ton of PostScript warnings when running dot on MacOS X
   (calling a font by the wrong name).
3. Remove an out of date comment
Update URL to Oasa library in requirements.txt
Remove Oasa library from requirements.txt

This is no longer needed.
Point travis to my own RDKit fork, temporarily.

The only change on my fork is the URLs of the InChI API.
This is to test it works, then I'll send a PR upstream to rdkit,
and we can switch back to tracking the official fork.
Revert "Point travis to my own RDKit fork, temporarily."

This reverts commit 99e9090e48fb9517decd08fc0dbb9a68bb417308.
RDKit have now merged my pull request to them, so their
fork has the needed fix.
Cantherm fix, doc update, more bondE corrections

Cantherm was crashing if the input file did not have a model chemistry
with a bond energy correction dictionary. Creation of an initial empty
dictionary fixes this. Also added B3LYP bond energy corrections  from
the same table and source as the CBS-QB3 corrections. Made some small
updates to the doc.
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.
Add MolePro files as energyLogs in cantherm

Enable a bare-bones commit that lets users use MolePro Files (only
CCSD(T)-f12-vtz and dtz) as inputs for cantherm energies.
Merge pull request #303 from nyee/cantherm

Add MolePro files as energyLogs in cantherm
Give explicit link to official documentaiton in the README.md file.
Condense code for adding a wildcard set of unpairedElectrons, lonePairs, or charges.
Raise an error if there is a duplicate group in a kinetics family.
make orbitals global in adjlist and correct some of them.

The maximum number of valence orbitals is defined per period of the
periodic table. Each orbital can contain a maximum of 2 electrons.
We assume that period 2 and 3 have a maximum of 8 valence electrons so
this leads to a maximum of 4 valence orbitals.
use number of valence electrons rather than orbitals in H count (adjlist)

this makes the "formula" that determines the number of hydrogens to be
added much more transparent.

Also, account for atom partial charge when determining this.
create class PeriodicSystem and create class attributes

this makes it more reusable, I think.
test checking whether charge is fully checked during molecule isomorphism

parametrized test via nose-parametrized.
tries all possible combinations (repetitions allowed) of charges for
carbon.