bug corrrected: wrong CCLib parser called for mopac and g03

MOPAC uses the Mopac class of CCLib
G03 uses the generic ccopen class of CCLib
remove repeat line

failure string was repeated twice. no need for that.
reworked qmverifier for MOPAC results

*created field with success keywords that should be in
successfully terminated output file

*created field with failure keywords, that once they are detected in
an output file, False is returned, stating that no successful MOPAC
calculation exists for this molecule.

extracted a method looking for InChIKey collisions, and false negatives
for the InChi matching between the InChI of a given molecule and the
InChI found in the MOPAC output file.
qmverifier takes one encapsulated parameter instead of several pieces

molfile parameter is used in qmverifier constructor that collects all
necessary information like name, directory, augmented InChI into one
object.
remove QMTP driver class as parameter from qmverifier

the verify method does not check what the ACTUAL qm program or method
is that is used for the on-the-fly calculation of TD properties. Instead,
for each of the available methods, it is checked whether an output file
exists for that particular configuration of qm program and qm method.
pass molfile object as parameter to qmtpjobs classes
call QMVerifier in QMJob check method

right after the calculation step, the check method checks whether (or
not) a successful calculation occurred. Instead of hard coding this at the
QMJob class itself, refer to the QMVerifier class.

Only check the failure keywords however, so call a new method that
does only this ('verifyNoFailure()')
fix small typo
created field of keywords for symmetry calculation attempts

the keywords that are tried out each time a symmetry calculation attempt
is tried out, are stored in a dictionary as a field of SymmetryJob
qm input writer keywords for mopac added as field

two dict's are creating storing the keywords that are added
to the QM input file based on the attempt number.

the if elif else clauses are removed. I removed Greg's comments
at each keyword attempt although they are very usefull in knowing
why he exactly chose those keywords. They should converted in unit tests
eventually.

This design should be better to be externalized completely
from the code so that the user has the power to decide which
keywords will be tried out at which attempt number.
used openbabel python module instead of calling external executable

thus, removed the Popen call, instead imported from openbabel directly

However, i still don't know how to provide the keywords that should
be prepended before the title line.

command line would be ...-xk 'keywords'...
use molfile in class fields as much as possible

replaced constructors with separate parameters for the name,
directory, augmented InChI by a molfile parameter.
used rmgpy's statmech module for TD properties calculation

all separate methods (except 1) of calculator are replaced by one reference
to the statesmodel. This model is composed of objects Translation,
RigidRotor and HarmonicOscillator that respectively hold info on
modes on molecular mass, moments of inertia and vibrational frequencies.

Only the chirality correction to the entropy is not contained in the
staesmodel and is therefore still present in the calculator module.
remove try except

was relic from Java version
G03 QM input writer added

similar to the MOPAC qm input writer.
Many more attempts have been implemented, often based on single molecule
failures and successes.

maximum memory size set to 6MW

number of processes = 1 (externalizing this opens up possibilities for
multi processor calculations) I don't know if this should be altered to
higher values since most nodes have >1 processors nowadays...
Merge remote-tracking branch 'nick/QMTP_initial' into QMTP

Conflicts resolved as best I could:
	qmtp_package/rmg_qm_parsers.py
	unittest_qm/inputWriterTest.py
	unittest_qm/jobsTest.py
	unittest_qm/parserTest.py
	unittest_qm/qmverifierTest.py
	unittest_qm/symmetryTest.py

Not all nose tests pass:
Ran 11 tests in 10.156s
FAILED (errors=3, failures=2)