More fun with my pal DistanceMatrix

Various minor fixes to ```DistanceMatrix.from_file```:

- more informative error messages
- handles file-like objects, true file handles, and lists of strings
- removes leading/trailing whitespace from sample IDs in row/column headers
- additional unit tests

These changes were necessary as I started using the class within QIIME (another pull request soon to be issued).

@gregcaporaso @wasade @Jorge-C anyone available to review?