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.
What about named tuples?
http://thread.gmane.org/gmane.comp.python.scientific.devel/19038

On (Nov-12-14| 9:21), Greg Caporaso wrote:
> > @@ -150,24 +150,22 @@
> >  
> >  First test the grouping of samples by subject:
> >  
> > ->>> from skbio.stats.distance import ANOSIM
> > ->>> anosim = ANOSIM(bc_dm, sample_md, column='subject')
> > ->>> results = anosim(999)
> > ->>> results.statistic
> > +>>> from skbio.stats.distance import anosim
> > +>>> results = anosim(bc_dm, sample_md, column='subject', permutations=999)
> > +>>> results['R statistic']
> 
> It might make sense for this to be called something more general, for example ``test statistic`` rather than ``R statistic``. Then we could mirror the result object for other tests and allow users to write code that just generally pulls these out. You could even add in a ``test statistic name`` entry in the series which would be ``R`` in this case. I think this is what they do in some cases in ``statsmodels``. 
> 
> ---
> Reply to this email directly or view it on GitHub:
> https://github.com/biocore/scikit-bio/pull/759/files#r20234153