Add tests for checking the database
Add children check for kinetic families
Fix bug with CheckWellFormed

-Move from base.py to family.py for better organization

The function did not seem to be finding all the mistakes in the database.
I was using break statements when I wanted continue statements, so loops
were ending prematurely.
Use group.isSubgraphIsomorphic to compare groups

- the current code assumes the same ordering for atoms and bonds
- if groups are read from rules.py it can be that they are stored in
different order leading to false cases of notSubgroup. This can happen
even if the adjacency lists of a group are identical in groups.py and
rules.py.
- the function isSubgraphIsomorphic does not depend on any ordering

- so far I have used atomIndex=-9 as a dummy value when calling
addToNotSubGroup(). Maybe we don't need this function anymore or can use
group.findIsomorphism() to find  information equivalent to atomIndex