ReadGroup class along with some support in SamHeader.

ReadGroup is a simple class for storing a read group (@RG) record from a SAM header.  This commit also adds a method in SamHeader that parses the header text and gets a vector of ReadGroups.

I tested this within foghorn and it works fine.
I'm not sure we want to make this public. Do you have any uses in mind for the `header_text()` ?