Add some more comments to tview

tview: add some additional comments to explain what we're doing.
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.
Use htslib facilities instead of bam_parse_region()

Also display an error message in the curses goto window if the
region string typed in is not parseable.
Revert unnecessary changes on tview branch

Leave the bam.h shim's bam_parse_region() using the old API type names.

Revert bam_plbuf_set_mask() tweak -- the definition of this used to be in
bam_pileup.c (cf standalone branch) and was perhaps erroneously removed
when the shim layer was made.  This may eventually need revisiting.
Fix tview-related dependencies

Note that test/tview/test_get_rg_sample.c has not yet been added to the
makefile -- it requires some indeterminate subset of the other .o files.
Merge pull request #93, convert tview to htslib API
Use sam_itr_*()/etc, enabling tview on CRAM files

For now, bgzf_set_cache_size() is commented out, until we
come up with a filetype-neutral API for such purposes.