Support for compressed backups

The backup format now includes a stream header.  That header begins with
a magic string and version number, then includes a flag stating whether
the archive data is compressed, and then in the case of encrypted archives
states the password salt used during encryption key stretching.

When compression is used, everything following the header is run through
a standard zlib "deflate" compressor before being sent downstream.

Change-Id: Ica72753e4ef2c3d13e63b45e7722a00652940a55
1 file changed