The default CRAM version is now 2.1. This is now the official release
for supporting EOF blocks and the Java implementation only enforces
them for CRAM 2.1 and above.

Also improved version number checking so an unknown minor version
number isn't fatal (previously 2.1 would cause an error) - as it's
minor we should be able to read it without understanding the exact
change and still get a useful result.

Changed the over-allocation amount of the SAM header block to be
MIN(length*1.5, 10000) instead of MAX(length*2, 10000).  The Java code
didn't allocate such vast tracks, so neither should I.
Fixed EOF check. The usual code path had the correct check, but an
empty cram triggered the incorrect code.
Bug fix to the SAM header padding. It could go negative and then fail
to write the header.
Merge pull request #60, CRAM EOF block improvements