SymmetricDistanceMatrix: initial implementation

Tests are passing. Docstrings need to be updated and I'd like to add a few more specific tests for things that have changed.
Finish SymmetricDistanceMatrix docs and unit tests
parameterize random function

Per @wasade's suggestion, the random function that random_distance_matrix uses is now a default parameter.
Merge pull request #82 from jrrideout/dm-updates

Add symmetric distance matrix subclass