Add procedural versions of ANOSIM and PERMANOVA

Changes (see changelog for more details):

- Added ``skbio.stats.distance.anosim`` and ``skbio.stats.distance.permanova`` functions, which replace the ``skbio.stats.distance.ANOSIM`` and ``skbio.stats.distance.PERMANOVA`` classes. These new functions provide simpler procedural interfaces to running these statistical methods. They also provide more convenient access to results by returning a ``pandas.Series`` instead of a ``CategoricalStatsResults`` object. These functions have more extensive documentation than their previous versions.

- Deprecated ``skbio.stats.p_value_to_str``. Permutation-based p-values in scikit-bio are calculated as ``(num_extreme + 1) / (num_permutations + 1)``, so it is impossible to obtain a p-value of zero. This function historically existed for correcting the number of digits displayed when obtaining a p-value of zero.

- Deprecated ``skbio.stats.distance.ANOSIM`` and ``skbio.stats.distance.PERMANOVA`` in favor of ``skbio.stats.distance.anosim`` and ``skbio.stats.distance.permanova``, respectively.

- Deprecated ``skbio.stats.distance.CategoricalStatsResults`` in favor of using ``pandas.Series`` to store statistical method results. ``anosim`` and ``permanova`` return ``pandas.Series`` instead of ``CategoricalStatsResults``.

- The ``pandas.DataFrame`` returned by ``skbio.stats.distance.pwmantel`` now stores p-values as floats and does not convert them to strings with a specific number of digits. p-values that were previously stored as "N/A" are now stored as ``np.nan`` for consistency with other statistical methods in scikit-bio.

Note: Most of the "new" code already existed and has been refactored with minor changes. I verified that performance hasn't degraded.

Fixes #754.
@gregcaporaso that's a good idea -- the label is currently `R statistic` for ANOSIM, and `pseudo-F statistic` for PERMANOVA. I'll update to have a general `test statistic` field and `test statistic name`, which will be either `R` or `pseudo-F`.

@ElDeveloper that's an interesting idea, I think named tuples would also work well here. I agree with @gregcaporaso re: trying to make heavier use of pandas (and some of the other stats methods return DataFrames already). One thing users might want to do is stack results after running the methods multiple times. A `Series` would make this pretty easy to do.