optimize logging in the inner-loop
activate python3 tests via travis
fix all relative imports to be py3 compatible
fix StringIO import to be py3 compat
iteritems missing in py3
use seek(0) instead of reset()

The BytesIO class seems not to have a reset().
fix use of xrange, now using six
make the magic a byte immediately
make the empty string and empty byte
indexing into a byte in python3 does a struct unpack, wtf?
strip bytes, not strings
encode the magic format and user_codec
zlib compress and decompress accept only bytes, not strings
use wb for good measure, not sure if required
make file comparison py3 compatible

In python 2:

>>> b"" == ""
True

In python 3:

>>> b"" == ""
False

Great stuff..
fix test_MetadataHeader_encode
fix broken error message
fix test_MetadataHeader_decode
sketchy metadata handling
fix input translation and output of all checksums