Minor speed increases.


git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3566 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1
Added copyright notice.


git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3567 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1
Added a range coder (order 0 and 1, but only the order-1 coder is used
at the moment, and probably Z_HUFFMAN_ONLY is good enough for most
scenarios to replace an order-0 RC).

This can be enabled using scramble -J, although note it produces
non-standard CRAM files so should be considered as an experimental
option. It is likely that the output format may change still, so use
for testing only.

Also updated how the encoding selection methods work. Scramble -j (for
bzip2) no longer attempts to bzip2 everything. Instead it tests bz2 vs
zlib on a few trials and selects whichever is best. This means -j and
-J indicate additional codecs, but not mandate their use for
everything.  Best encoding so far comes from scramble -jJ therefore.

There is also an interface to LZMA (xz) compression, but currently it
is not enabled and has been used experimentally only.

Finally, also sped up the CRAM->BAM in memory struct conversion by
translating 2 sequence characters at a time.



git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3568 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1
Tidy up of redundant code.


git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3569 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1