Improve metadata map

This improves the qiime.util.MetadataMap class with more intuitive functionality. Additionally, merge_mapping_files (from qiime.merge_mapping_files) is modified to take advantage of the new functionality. Finally, print_mapping_data (which was not used anywhere in the codebase, as far as I could tell) is removed, since printing mapping data can now be accomplished with a ```print``` statement called on a MetadataMap object.