Add headers to compounds in the compound table.

This offers a sort of cheap bounds-checking for reading from compound
entries, since none of the public functions can read an
SZ_COMPOUND_CHUNK, so it keeps the reads a bit cleaner. The exception,
right now, is that the data chunk has no header, so it'll be necessary
to add one to it, otherwise reading from the last compound can also end
up reading into the data chunk.
Add a data header chunk to cap off the compound table.

This should prevent over-reading when reading the last compound in the
compound table.
Increment version and format version.