Refactor SamPairIterator

* refactor fetch_next_pair for clarity and reduce duplication
* switch to unique_ptr queue to avoid moving the header around
* make int conversions explicit between gamgee and htslib (to avoid warnings in the SamPairIterator)