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)