- add kdf_iter, cipher, rekey_kdf_iter, and rekey_cipher PRAGMAs to allow changing parameters
- introduction of cipher_ctx struct to store relavent cipher details for separate read and write operations
- simplified sqlite3Codec to make more understandable
- simplify encryption code for first database page
- simplify sqlite3_key and sqlite3_rekey, they now operate only on the main database only
- documentation updates for supporting functions
- reorganize tests to remove interdependencies between tests where possible
- add tests for converting between different ciphers