Base16

The first commit in this series, "Save hashes as binary, not hex strings," is an important bugfix that should probably go in, regardless of what happens with the reversing stuff.