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.
Because the java Date class that these call super on has deprecations on them. Methods that call deprecated methods should be annotated as such.