Fixed the generation of read names to use record_counter properly,
counting from 1, rather than slice:record-in-slice.

Also changed the record_counter to be 64-bit for CRAM v3.0 (change
under discussion). (I believe this to be invisible within the file
format though as itf8 0-2billion encode using the same binary values
as ltf8 0-2billion.)
Replaced sprintf with a home-brew append_uint64 function.  This is a
sizeable speed increase to the read name auto-generation code.