Reenable tview and port to htslib

tview: reenable the tview command by reverting removal of components essential to
tview.  Also port tview over to using the htslib header files.  Several new files
are created to house existing bits of code which were part of one huge lump but
needed to be split out when that lump was deleted.
Restore sample selection to tview and add a unit test for the code doing it.

Allow a user to select which samples should appear in the tview by parsing
the header and determining which read groups belong to that sample.  Add a
unit test to exercise this bit of code.