[WIP] resSeq

cc #156. I am quite ambivalent on whether this is desirable or not. Looking for some feedback from others. Currently, the residues are just indexed from 0 up. With this, whatever is in the pdb is used as the residue indices.

### Pros
- Makes interpreting a PDB file in mdtraj easier.
- The resSeq entries are unperturned by a load/save round trip.

### Cons
- The topology object is like a big tree, with Chain, Residue and Atom object. All three contain an index field. On the master branch, all of these indices count up from 0. In particular, we use the assumption that `topology.atoms[i].index == i` all over the place. With this PR, `topology.residues[i].index != i`. We're using one indexing scheme applies to atoms and chains and a different one to residues.
- The method Topology.residue method, whose docstring is "Get a specific residue by index.  These indices start from zero." doesn't really make much sense any more. This method gets the `i-th` residue in the list, with standard 0 based indexing, which is probably not what you're looking for, since  `topology.residues[i].index != i`.

I think I lean toward the con side.