Simplify haplotype queue creation

This is mostly to make the generation of the ordered haplotype and haplotype pairs easier, but it led to a few more changes.

- Move HaplotypePair math functions to static object
- Compute likelihoods on creation (this is to address issue #54, where a Haplotype pair created with haplotypes before calling .scoreLikelihoods on them would not get the correct likelihoods)
(NOTE: For this each haplotype is currently instantiating its own HMMAligner.  HMMAligner currently requires functions to called in a certain order to get the right results, hopefully this will be handled by https://github.com/bigdatagenomics/avocado/pull/52 so that we can remove this.
- Additionally #52 will provide full alignment details rather than having a few individual field as Haplotype currently does.