MultiPDepArrhenius requires identical pressures in all PDepArrhenius objects.

This is so we can evaluate the k(T,P) values by evaluating the sum of the
k(T,P_1) and k(T,P_2) values across the different PDepArrhenius
expressions, then interpolating logarithmically in pressure. The idea is
that you need this sum-of-PLOG format to accurately capture the very
non-Arrhenius behavior of some pressure-dependent kinetics.
Added missing imports to rmgpy.data.kinetics.__init__ module.

These are needed for some functions in this module to work.
Fixes to the new reaction generation from families algorithm.

The previous algorithm for merging duplicates did not actually work when
forward = False in KineticsFamily.__generateReactions(). This commit
provides a working version, which is rather verbose and repetitive, but
is still better than a non-working implementation.
Convert rmgpy.molecule.graph to Cython .pyx file.

Since graph manipulation speed is a critical bottleneck for RMG-Py jobs,
I think abandoning pure Python mode is worth the potential speed boost.
This commit provides a straight translation from the pure Python syntax
to the equivalent Cython syntax.
Moved VF2 isomorphism algorithm to new rmgpy.molecule.vf2 module.

This is another advantage of using .pyx files: better dependency handling
across related modules.
Faster versions of Atom.copy() and Bond.copy().

The previous implementation was falling back to pure Python. The new
version uses the ExtType.__new__(ExtType) trick to directly instantiate
the extension type object in C. The attributes then need to be populated
manually. This is done inside copy() rather than calling __init__() for
speed reasons.

This change alone should give a 5-10% speed boost, since we spend a lot of
time copying atoms and bonds when generating reactions. Molecule.copy()
should no longer be a significant presence on the CPU profile output.
Don't use pybel in Molecule.getFormula().

Converting to OBMol is expensive enough that we don't want to be doing it
to generate our molecular fingerprint. Instead I've written an algorithm
that gets the chemical formula directly from our molecular representation.
Merge branch 'master' of git://github.com/jwallen/RMG-Py

Conflicts:
	rmgpy/kinetics/arrhenius.pyx