Add compression step to encryption

Compressing before encrypting obfuscates the input data, which can't be a bad
thing. It will also (obviously) help to decrease the size of the database we're
encrypting, at the very least in the extremely common case.

The only time it might hurt is if the user is storing large, compressed blobs or
lots of random data. They can take the performance hit, I think.