add attributes in makeProfileGraph to prevent gprof2dot from crashing

closes #239
Remove outdated gprof2dot from external.

This package is now in the python package library and can be installed
via "pip install gprof2dot". It is in our requirements.txt file, so most
people will have that. That version is different, and our code now
reflects those changes, so this version is out of date and redundant.
Thus, I'm removing it.
QMThermo unittest skips test if your MOPAC executable is unaccessible

Testing the qmdata generation and that we can get
thermodynamic values from it. Checks that your MOPAC
executable is accessible, otherwise the test is
skipped.
Remove output files when first testing QMTP with MOPAC

If an output file exists from a previous run, the method
will to read the `.thermo` file printed from that
run, and not test the rdKit molecule generation nor the
MOPAC specific methods. Removing it ensures `testGenerateQMData`
covers these methods, while `testGenerateThermoData` will cover
the use of an existing `.thermo` file.
QMTP tests for Gaussian.

Essentially the same thing as the MOPAC test.
Removed check for the QM scratch directory

The scratch directory is not a requirement, so it
should not throw an error if it fails.
Tests for the main qm script
Added PM6 and PM7 tests.

Now that these have been added, they need to be tested.
Check that no files are in the test output folder.

If there are files, delete them. This ensures the test
runs through the running of a QM job, and doesn't load a
`.thermo` file  (this is tested elsewhere) from a previous test.
QMTP tests without environment variables

The tests ran with an 'RMGpy' environment variable,
but this is not always set, so the tests can now be run
without the variable defined.
Fix the rmgpy getPath method so the test can find the testing folder

rmgpy.getPath was not properly set
Checks for and makes folder to store qm testing files.
Merge pull request #228 from pierrelb/QMTPtest

QMTP tests now implemented and passing.
Fix for working with solute library.

getSoluteDataFromLibrary returns a tuple, so we could not 
extract the individual components from the soluteData. Now 
getSoluteData will correctly assign the part that contains 
the solute information to soluteData.
General test for checking whether nodes are in trees for non-kinetic groups
Mark the StatMech group/tree test as Work In Progress

Per the discussion at https://github.com/GreenGroup/RMG-Py/pull/242
it's not clear if this test failure is really a problem or not,
or how best to resolve it. For now I'm marking as WIP so that 
we can get the rest of the tests in Master without Travis failing.
Minor tidy-up of databaseTest.py
Merge branch 'pr/242' to get more database tests in databaseTest.py
Added a few hyperlinks to the adjacency list documentation.
Adds some unit tests for the solvation module.

This includes tests for: setUp, obtaining solute parameters from a library,
calculating and setting the McGowan volume for a solute, calculating solute
diffusivity, and calculating solvent viscosity.

The main method was also edited so that the unittest can be run on its own.

Along the way fixed a floating point error in calculating diffusivity.