HTSJDK SamReader implementation using the API and example of its usage

This is the second step in adding Genomics API support for the HTSJDK, as outlined here:
https://docs.google.com/a/google.com/document/d/1RZUu_AsxHiw5YpLyNdRoSfNv1FbuaBxkw3a1eyvhMsM/edit#heading=h.8cmyqtbj7zm8
These changes have to be outside HTSJDK but they use the CustomReaderFactory facility added in 
https://github.com/samtools/htsjdk/pull/98
So far we only provide usage of SamReader in a toy example that accompanies this PR.
Next update will include more advanced usage and potentially updates to deal with use cases that expect indexing as well as tests.
The next step will be using this facility in an actual Picard tool (which will likely have to be changed to use a modern SamReader as opposed to SAMFileReader interface)


Let's use the ID for NA12878 from within the main 1kg project:
[CMvnhpKTFhCbiObuzvm7nOoB](https://developers.google.com/apis-explorer/#p/genomics/v1beta/genomics.readsets.search?_h=1&resource=%257B%250A++%2522datasetIds%2522%253A+%250A++%255B%252210473108253681171589%2522%250A++%255D%252C%250A++%2522name%2522%253A+%2522NA12878%2522%250A%257D&)