Get rid of UreyBradleyType, since it is identical to BondType.  Also move the
code that _was_ in the __del__ method of the valence terms to delete, since
the valence terms are added to the lists attached to each atom, preventing them
from being garbage-collected (and, by extension, the __del__ method from being
called).

Also, make sure that partner atoms are added as many times as they appear,
rather than keeping them in sets.  That way, the "delete" method on the valence
terms can safely remove "their" contributions to those lists without erroneously
removing others as well. Also differentiate between a TrackedList needing
reindexing and it being changed.