Sam: add tests to the public API

**Added the following tests**:

* unclipped start and stop
* copy constructor tests
* copy assignment test
* tags of types char, int and double
* char_tag when tag is not a char
* string_tag when tag is not a string
* is_missing support for tags

major strides towards addressing issue #4
This copy constructor test should check for inequality of one of the data fields as well after a copy + change (eg., copy, change first cigar element in copy, check cigar inequality using Cigar::to_string())