Improvements to split_otu_table.py

This PR reduces the code complexity of ```split_otu_table.py```and  adds functionality to allow a user to pass multiple fields to split the biom table on. Adds significant documentation to the library code and the script.
```np.in1d``` fails with a set.
```python
from numpy import array, in1d
x = array([1,2,3,4,5])
y = set([1,2,3])
tmp = in1d(x,y)
(tmp == array([False, False, False, False, False], dtype=bool)).all() #True
```