Added barcode_split

This supports both FASTA and FASTQ, which meant refactoring FASTQRead to be a little more
than just a tuple (because it was paired with a new FASTARead). Needed to refactor files
that relied on the older FASTQ functionality. Now FASTQRead is a 4 member tuple: name,
comment, seq, qual. (Before, name and comment were assumed to be together).

Added test for barcodesplit: