MDTraj 0.3 Version. Big push on documentation. API breaking in mdtraj.Topology

I want Topology to be more consistent with the style in the rest of the project, and not just a clone of `simtk.openmm.app.Topology`. This means using method names like `add_chain` instead of `addChain`.

Before, when this project started, we were serializing the topology with pickle, and werent sure if we were going to have an mdtraj.Topology or simtk.Topology, so I wanted them to basically be identical and thus one could be unpickled into the other or something. But now, the JSON format in the hdf5 trajectory spec is much better and is actually interchangeable, so that's not an issue.

The only place where mdtraj really needs to deal with the simtk.Topology object is in the reporters. It's a bit of a pain, but not a big deal.