DistanceMatrix improvements and numpy docstrings

Made the following improvements to ```DistanceMatrix``` (thanks @gregcaporaso for suggesting these, and @Jorge-C and @wasade for your input):

- all references to "sample IDs" have been replaced with just "IDs" (in documentation and code)
- ```__getitem__``` now supports lookup by ID pair, e.g., ```dm['a', 'b']```
- the ```DistanceMatrix``` constructor now supports an existing ```DistanceMatrix``` instance as ```data``` in addition to the other data types

All docstrings have been updated and expanded to follow numpy's docstring convention ([numpydoc](https://github.com/numpy/numpy/blob/master/doc/HOWTO_DOCUMENT.rst.txt)). I'm especially interested in getting feedback on the numpy docstring changes.

Fixes #109.