use `git describe` for release version and fix type in zipball name

sqlipher --> sqlcipher

`git describe` will give only the name of the tag if the current commit
is tagged.  Otherwise, it will get the most recent tag, how many commits
since that tag, and the commit hash id.   This marks non-release builds
clearly and enforces that the release must be made from the proper tagged
git commit.
script to compare release zipballs to check for differences

This script unpacks the zip and jars into a temp folders, then compares
sort the file list in the release zip to make it deterministic
fix timestamps in the release zipball to make them deterministic
methods for handing raw key directly to sqlite3_key() and sqlite_rekey()

This provides methods for handing the raw AES key data directly to
SQLCipher, skipping SQLCipher's key derivation process. This allows an app
to make their own key derivation process.  This is how we already handle
things with CacheWord, which uses 32 random bytes for the raw key, then
manages sending that raw key to multiple things that need to be unlocked
(SQLCipher-for-Android, IOCipher, RSA keys, etc).