Add functionality for Bonds

A lot of changes, including

* Totally re-writing the `Bond` class.
* Adding `getBonds()` to `Atom`s
* Getting rid of `StructureTools.findBonds` because it relies on the old version of the `Bond` class
* Having `ChemCompConsumer` do something when it gets a `ChemCompBond`; it adds it to the `ChemComp`
* Having `PDBFileParser` add bonds of the following types:
 * LINK records
 * SSBOND records
 * Intra-residue bonds (using ChemComp)
 * Peptide bonds (assumes that consecutive residues under 1.8 A from each other have a peptide bond between them)
* Adding a `getAltLocGroup` method on `Group`s (this is untested right now, so I need to make sure this actually works)