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)


Hi Dion,
 
I think it is under a publicly available dataset, but not one of the standard ones.  So I performed the following `curl`, with my token being anonymized:

```
curl -X GET -H "Content-Type: application/json" https://www.googleapis.com/genomics/v1beta/readsets/CLqN8Z3sDRCwgrmdkOXjn_sB?oauth_token=ya29...

```

For this, I get the following:

```
{
 "id": "CLqN8Z3sDRCwgrmdkOXjn_sB",
 "name": "NA12878",
 "datasetId": "16801540936334623823",
 "fileData": [
  {
   "filename": "NA12878.smallest.sampled.bam",
   "headers": [
    {
     "version": "1.4",
     "sortingOrder": "unsorted"
    }
   ],
   "readGroups": [
    {
     "id": "A",
     "sample": "NA12878"
    }
   ]
  }
 ]
}
```

Then if I take the `datasetId`, and perform the following `curl`:

```
curl -X GET -H "Content-Type: application/json" https://www.googleapis.com/genomics/v1beta/datasets/16801540936334623823?oauth_token=ya29...
```

For this, I get the following:

```
{
 "id": "16801540936334623823",
 "projectId": "475730298554",
 "isPublic": true,
 "name": "pipelines_test_data"
}
```

So I notice that `isPublic` is set to `true`, so I would consider it a publicly available dataset, but I'm not sure if it is one of the standard datasets, since it is called `pipelines_test_data`.

Hope it helps,
Paul