Wrap Imran's New RMSD code

There are more commits in here than are really part of this branch, because I branched it off mdtraj0.3

API
------
```
# creating a "prepared trajectory" manually, so that you can use it multiple times
>>> import mdtraj as md
>>> t = mdtraj.load('trajectory.h5')
>>> c = md.rmsd_cache(t)
>>> c.rmsd_to_reference(c, 0)
```