use SeparatedValueReader to read the file TSV-based file
use SeparatedValueWriter to write TSV-based file

In order to use SeparatedValueWriter we need/want the keys of the data
hash to match the pretty names of the headers.  This converts the
surrounding code to use the pretty headers adn then uses the
SeparatedValueWriter to write the file.
remove double negative
refactor to remove duplicated code
refactor to remove duplicate assignments
whitespace
whitespace
specifically import basename
whitespace
brackets aren't necessary for single inheritance
Merge pull request #1 from nnutter/epitope

use SeparatedValueReader and SeparatedValueWriter