Port OrdinationResults I/O to skbio.io

Ported `OrdinationResults` I/O to `skbio.io.ordres`, deprecating `OrdinationResults.from_file`/`to_file` in favor of `read` and `write`. Large refactoring of the parser and formatter to remove duplicate code. Added a sniffer for the file format.

Fixes #645. @ebolyen can you please review?
next_line will never be None. It will always be a `str` or it will be interrupted by a `StopIteration`