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
I'd separate the pulling-out from the modifying. E.g. a commit for "moved this function to this other place" and another commit for "modified this function after moving it." Otherwise, it's just really hard to keep track of what actually changed in the contents of the function?