Initial implementation of fasta/qual compound reader

Lots of duplicate code in qual parser that needs to be refactored. Still need a qual sniffer, correct error type, and unit tests.
Add FASTAQUALFormatError and QUALFormatError
Refactor FASTA and QUAL readers to remove duplicate parsing logic

Confirmed that the small bit of indirection didn't affect performance of current FASTA reader implementation.
Add QUAL sniffer; refactor FASTA sniffer
Add fasta/qual readers for SequenceCollection and Alignment
Add constructor parameter to fasta/qual readers
Add fasta/qual -> *Sequence readers
Add generator -> fasta/qual writer
Add *Sequence -> fasta/qual writers
Add SequenceCollection/Alignment -> fasta/qual writers
Fix quality score chunking code

Now uses textwrap module to prevent breaking in the middle of a quality score.
Add basic qual sniffer tests

Fixed issue where fasta and qual sniffers would both positively identify files.

Still need to fill out tests, will continue as more qual files are added for reader/writer tests.
Stub fasta/qual reader tests
Split fasta I/O module into skbio.io.fasta subpackage

Using a single module for fasta/qual/fastaqual made for a very large module.
SAD: compound formats are gone
ENH: readers support FileSentinels and open_files is back, baby.
Revert "Split fasta I/O module into skbio.io.fasta subpackage"

This reverts commit 578e2e9f8665282946d48496f38edd2bf7eceb4d.
FASTAQUALFormatError, QUALFormatError -> FASTAFormatError
Refactor to remove fasta/qual compound format

This relies on upcoming changes to the registry where compound formats are removed in favor of optional file-like parameters (e.g., an optional QUAL file).
fasta sniffer no longer identifies qual files

Still needs more unit tests for these cases.