Added an EOF block to CRAM which simply consists of a container
containing no sequences and a special ref-seq-position field.  In
theory this is backwards compatible, but in practice was not due to
bugs (in both C and Java implementations).

Also added checking of the EOF blocks for BAM too.


git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3546 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1
Bug fix to cram_next_slice().  The new while loop checking for
non-empty blocks caused a crash when multi-threading.


git-svn-id: svn://svn.code.sf.net/p/staden/code/io_lib@3547 ba6f2710-ca9f-427c-89d3-5bf716dbc8e1
Bug fix to EOF block writing in multi-threaded mode. It was writing it
out before flushing the final pending blocks, causing EOF block to
sometimes appear slightly before the true end of file.


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