Add tests for checking the database
Merge branch 'master' of github.com:GreenGroup/RMG-Py
Add function LogicOr.matchToLogicOr

This function gives the boolean of whether two LogicOr objects are
equivilant or not. I needed this for database checking
Add new atom attributes to comparisons

The function equivilant and isSpecificCaseOf for GroupAtom now checks the
list of charges and atom label
Added function isIdentical to groups.py

The function isIsomorphic was meant to compare molecules to groups,
therefore it respects wildcards (seeing as a molecule will never have an
atom named Cs or Ct). However, this makes the function isIsomorphic not
useful when tryint to compare two groups.

I've created a new function isIdentical which will not respect wildcards
and can tell if two groups are the same.
Add function checkWellFormed to family.py

This function is used to check for malformed kinetic families. I have also
removed the function isWellFormed from base.py because it is deprecated by
this new function (and also didn't work due to the many changes we've been
making).

The new function checks for:
-rule labels that have group names which do not exist in groups.py
-rule adjLists that do not match with the corresponding adj list in
groups.py
-Each group must exist in the tree
-Each group adjList must actually be a more specific case of it's parent's adjList
Add check if groups are unique in the database

Coded another check in checkWellFormed to see if each node is unique inside
of a family.
Merge pull request #196 from nyee/rebaseDatabaseTest

Rebase database test
Getting rid of legacy `history` field in database entries.

This field does nothing useful and only creates useless commit differences
on github.  Its removal lets the database be cleaner.
For kinetics databases, write reference and referenceType fields only if not None.
Merge pull request #197 from connie/universalDatabase

Universal database progress.
Looks good to me, and I merged the RMG-database commit too.
(And after all that effort that went into preserving the history entries and detecting changes....)
Remove unused `recommended` flags for databases.
Makefile checks that you have PyDAS and PyDQED on your Python path
Change URLs of PyDAS and PyDQED to GreenGroup in installation instructions.

Hopefully Josh will alert us to any improvements he makes, now that he has left.
I also switched to https instead of git, so that you don't need a github account
and login etc.

I also tweak the linux installation instructions.
Just formatting, really.
Tweaking code to find default location of the database

It turns out that this bit of code was correct, but hopefully now it's clearer.

It's still pretty confusing where this is set, and in what priority.
(eg. the .rmgrc config file). I'm not sure why the prior one seems to work in other places
Add work_in_progress decorator for currently failing Unit Tests

This is a proof (test) of concept. If it works, then we should add this
decorator to all the unit tests that we currently EXPECT to fail.
That way, the Travis-CI build test will pass - the failing tests will
just be skipped if they fail (still with an error message).

We shouldn't forget to go and fix the tests though!
Merge pull request #199 from rwest/fixtests

Progress towards fixing unit tests.  

There are some fixes to the makefile, instructions, and default database location.
Also, a work_in_progress decorator, that we should use to annotate any Unit Tests that we currently expect to fail. You just add @work_in_progress to the line before the unit test definition. 
If someone could do that for all the currently failing tests, as a half-way house to actually making them work, we will at least be able to detect changes and extra errors.
Don't check atom labels when comparing Group Atoms.

Label checking is done as part of the isomorphism routines.
Enforcing the isSpecificTypeOf and Equivalent methods to 
check it just breaks the isomorphism routines, as demonstrated
by the two unit tests that started failing.

(Yay for unit tests!)
Fix bugs in GroupAtom charge tests.

Equivalent check needs to ensure the matches work both ways.
isSpecificCaseOf only needs to check self is contained within other.
(and both need to not just check self against self)
More specific unit tests for GroupAtom equivalence and isSpecificCaseOf tests.

We check a variety of radicals, multiplicities, and charges.
This helped find a bug I almost introduced :-)
(and I think would have detected the ones I had just removed)