Various improvements to skbio.stats.distance.mantel/pwmantel functions

Various improvements to `skbio.stats.distance.mantel` and `skbio.stats.distance.pwmantel`, including:

- addition of `strict` and `lookup` optional parameters in `mantel` (these were previously only available in `pwmantel`)
- reordering/filtering of `DistanceMatrix` inputs to `mantel` (previously only available in `pwmantel`)
- support for `array_like` input to `pwmantel` (now consistent with `mantel`)
- new and expanded doctest examples for `mantel` and `pwmantel`
- refactored and more extensive unit testing for both functions

See the changelog for more details.

Fixes #443.
It might be nicer for reporting errors if this were split into two try/except blocks, as your error message could then indicate which dm had a missing value (it could be ambiguous here, if some ids are present in both dms).