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 like using this in the way that [this SO Q/A](http://stackoverflow.com/a/19310416/388951) describes:

```python
def test_exception_is_raised:
    with assert_raises(HTTPError) as cm:
         call_your_method(p1, p2)
    ex = cm.exception # raised exception is available through exception property of context
    ok_(ex.code == 401, 'HTTPError should be Unauthorized!')
```