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.
Ah, sorry, "list of str"
On Aug 20, 2014 6:41 PM, "Will Van Treuren" <notifications@github.com>
wrote:

> In qiime/split.py:
>
> > +                       ['s4', 'blue', '0', '0']],
> > +                      dtype='|S5')
> > +    >>> make_field_value_set(headers, 'color', mdata)
> > +    ['blue', 'cyan', 'green']
> > +    '''
> > +    return sorted(set(mdata[:, headers.index(field)]))
> > +
> > +def make_field_set_iterable(headers, fields, mdata):
> > +    '''Return product of lists of unique values in order of the passed fields.
> > +
> > +    Parameters
> > +    ----------
> > +    headers : list
> > +        Strings that are the header fields in a mapping file. Usually derived
> > +        from parse_mapping_file.
> > +    fields : list of strs
>
> i interpreted this to mean change line 76 to be list and then indicate
> what was in that list below like for the np.array.
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/biocore/qiime/pull/1663/files#r16515256>.
>