split apart dependencies of vaccine peptide selection

* added unit tests for individual ranking components
* vaccine peptide sorting by four criteria (mutant epitope score, negative wildtype epitope score, number mutated residues, distance of mutation start the edge of vaccine peptide)
* print and write FASTA of vaccine peptides with a little mutation metadata
* print epitopes associated with each mutation
Huh, what's your flow for when you want to pull stuff out into its own function/file in the middle of a PR? 

Also, this is new code (it's like a static/ascii version of the epitopes visualization).