Add __str__ and __add__ to qiime.util.MetadataMap

This will facilitate printing and merging of MetadataMap objects.
Modify merge_mapping_files library code

Removed write_mapping_data (one can now call print or str() on
MetadataMap objects)

Changed merge_mapping_files to make use of the newly added __add__ function
of the MetadataMap class.
Replace tests for new merge_mapping_file code
Fix script to work with new library code
Merge branch 'master' of https://github.com/qiime/qiime into improve_metadata_map

Conflicts:
	qiime/merge_mapping_files.py
	scripts/merge_mapping_files.py
	tests/test_merge_mapping_files.py
Accidentally deleted this file!
Update script interface
Merge branch 'improve_metadata_map' of github.com:adamrp/qiime into improve_metadata_map
Address comments from @jrrideout

Should be good to go, unless there are additional comments
Remove unneeded function import
Add newline to str; add Comments
Move test_str into MetadataMap tests in test_util
Move merge_mapping_files to MetadataMap object

It is now a staticmethod called mergeMappingFiles.  Also move test code into
test_util.py.  Remove qiime/merge_mapping_files.py and
tests/test_merge_mapping_files.py since the code has been moved into
qiime/util.py and tests/test_util.py, respectively.
Change import in scripts/merge_mapping_files.py

Now references code in the correct location (in qiime.util.Metadatamap)
Remove unused InverseDict import
Port PyCogent's InverseDictMulti

Only used in qiime/pick_rep_set.py, so easiest to port since we don't want this in skbio.
Move invert_dict based on @ElDeveloper's excellent comment
Remove unnecessary invert_dict import from tests
Remove instantiation of Dict2D
Merge pull request #1463 from ElBrogrammer/InverseDict

Port InverseDictMulti from PyCogent