First steps toward a new, unified data model.
Fix up some doctests and fix another few small bugs.
Fix a small bug when comparing equality with the Amoeba dihedral type.
Add most of the topology objects from Tinker/Amoeba to the main one in
the chemistry package.
Add a couple of the Amoeba frame definitions to topologyobjects.
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.
Merge branch 'master' into unified_model
Do not register dihedral partners when it is an improper torsion.

Replace Atom == Atom with Atom is Atom.

Fix another small bug in determining same_atoms between two Improper's.
Add some unit tests for the topologyobjects.
More test cases and a couple fixes/doc enhancements.
Finish unit tests for topologyobjects and fix some behavior in the classes found
as a result.
Translate the PDB parser into a new function that returns the new Structure
object instead of the ChemicalSystem object.

Update the Atom class to include more PDB information as attributes.  Add a
TrackedList unittest.
Fix PDB parser... now appears to work correctly.
Fix handling of multiple models in PDB files.
Get rid of system.py, as we now turn to structure.read_PDB to instantiate a PDB
structure.

Update __init__ and the test cases for this change.  Still need to find out
where system.py was being used and switch it over to structure.
Replace ChemicalSystem with read_PDB where applicable in ParmEd. Also fix a
problem in the __copy__ constructor of AmberParm objects.

All unit tests pass right now.
More descriptive docstrings and significant code simplification (don't be so
tolerant of "invalid" prmtops). That's what the AmberFormat class is for.
addFlag -> add_flag
deleteFlag -> delete_flag
writeParm -> write_parm

The existing methods have been deprecated rather than eliminated.  Elimination
will come at a later date.
Stop using deprecated functions
Begin converting the AmberParm class to the new class heirarchy.