Refactor HMMAligner and add testing for HMMAligner

Some notes:
- This causes some failing tests in ReadCallAssemblySuite which still needs to be looked into
- I only changed Haplotype and HaplotypePair so that they would still work, but I think we can probably do more there.
- Right now the transition matrix (to be renamed perhaps?) still follows the older strategy of allocating the likelihood matrices once and only reallocating if its need to make them bigger. I'm not sure how much this 
- I renamed some of the HMM parameters from <>Prior to openGapPenalty and closeGap, open to alternatives.