Jc cram changes

This pull request includes a rebase of Vadim's cram code base as well as all of the necessary changes for the htsjdk to support CRAM input and output.
Does the ```iterator.close()``` below close the reader?