Port subsample_multinomial from pycogent

Improved its unit tests, as the previous ones also worked for subsampling without replacement. Combined multinomial subsampling with the subsample function as the functions shared a fair amount of code, and both are pretty short. Kept ``subsample_multinomial``, which is now a simple wrapper.
Less type conversions, shorter code, minor speedup

Thanks @ElDeveloper!
Remove nonzero usage from multinomial branch

Turns out this was unnecessary. Thanks for catching this @Jorge-C!
Remove subsample_multinomial wrapper

Thanks for suggesting `partial`, @Jorge-C!
`multinomial` optional parameter is now `replace`
update test code comment for clarity

Based on @Jorge-C's suggestions
update test code to use set instead of dict

Much clearer- thanks @Jorge-C!
Remove use of np.true_divide

This was redundant. Thanks @ElDeveloper!
moved __init__ doc string to class docstring
removed attributes from subclass doc strings for consistency with distance.py (these are redundant as they are in the base class doc string
added IUPAC nucleotide code reference, thanks @walterst
added shownumpydoc directive for special methods
cleaned up a few small issues
addressed comments from @ElBrogrammer
fixed formatting issue
Merge pull request #219 from gregcaporaso/issue-125

various improvement to the BiologicalSequence doc strings
Change linkcheck timeout to 30 seconds

It was previously 5 seconds but this kept yielding false positive
failures.

Fixes #212
Merge pull request #222 from ElDeveloper/issue-212

Change linkcheck timeout to 30 seconds
Disallow n > counts.sum()

subsampling with replacement now works as expected when n == counts.sum().

Thanks for the input @rob-knight and @gregcaporaso!
Merge pull request #206 from ElBrogrammer/sub-multi

Port subsample_multinomial from pycogent