libdistance

re #299 Three generic public functions, `assign_nearest`, `pdist`, and `dist`, which operate with any of the vector distance metrics on double or float, or rmsd on mdtraj trajectories. I think most of the cython library can be removed and replaced with calls to this.
Might be good to explicitly state the shape here?