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.
for most mapping files i don't anticipate this being large, but perhaps if we find performance issues this would be a good place to look first.