Master rebase and fixups for deprecations.
initial cram code base commit
added lossy options to CRAMFileWriter;
force lossless mode by default if no policies are given
lazy init of qs preservation with "*8"
Updated htsjdk to use SamReader instead of the deprecated SAMFileReader.
Also fixed a bug in the tlen calculation for cram compression records.
Added setOption and reapplyOptions methods to SamReaderFactory.
Deprecated truncated reader.
Exposed file extension from Type.
Added reference fasta to SamReaderFactory and SamWriterFactory to facilitate CRAM support.
Use SamReaderFactory makeDefault with reference sequence whenever possible to allow for CRAM support.
fixed the multiref slice building code.
relaxed EOF marker by ignoring ITF8 hanging bits
initial commit of indexing for CRAM
added static methods for CRAI parsing and building in-memory index
added crai building methods that takes input stream
fix for pairing primary and secondary alignments separately when writing
Code review changes.