Sam: implementation of mate operations

* add mate_alignment_stop, mate_unclipped_start, mate_unclipped_stop
* add mate operations overloads for performance and tests
* fix off-by-one bug on Sam::alignment_stop (it was reporting the base after the last inclusive base, contradicting the docs)
* refactor cigar operator parsing routine from SamBuilder to Cigar class for mutual use
* add consumes_read_bases and consumes_reference_bases as static methods to the Cigar class
* add tests to the new API and all new functions

fixes #6
Merge pull request #190 from broadinstitute/mc_mate_alignment_stop

Sam: implementation of mate operations