ENH|API: IO registry exists
STY|API: pep8 and moved IO exceptions to skbio.io
TST: fixed StringIO for python3
TST: more python3 fixes
TST: assertTrue had 2 args, moved testclasses out of setup
DOC: added documentation about io
STY: minor changes
Merge branch 'master' of https://github.com/biocore/scikit-bio into issue564

Conflicts:
	skbio/alignment/_alignment.py
	skbio/stats/distance/_base.py
	skbio/stats/ordination/tests/test_ordination.py
	skbio/tree/_tree.py
	skbio/tree/tests/test_tree.py
	skbio/util/__init__.py
DOC/ENH: loosened concept of filehandling in procedural implementations and added convenience identifier for blank files
TST: 100% branch coverage
Merge branch 'master' of https://github.com/biocore/scikit-bio into issue564
TST: fixed for python 3
API: registration now abstracts file opening
ENH: registry handles compound formats
DOC: update io docs
Merge branch 'master' of https://github.com/biocore/scikit-bio into issue564

Conflicts:
	skbio/alignment/_alignment.py
	skbio/tree/_tree.py
BUG: nodes don't always have modules in checklist.py
ENH: addressed changes suggested by @jairideout for io
ENH: more changes to io
ENH: final changes, surely...