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?
I know this is kind of gross, but couldn't we use `npt.assert_equal(True, type(left) is type(right))` and drop the dependency on `nose` back out?