update sqlcipher to version 3.0.1
test project for enhanced library QA

currently tests basic functionality of PassphraseSecrets
change visibility of SerializedSecretsV1 to public

This is so the class can be tested.
implement test for PassphraseSecrets.changePassphrase

includes a stub implementation that fails the test

refs #2728, #2571
implement PassphraseSecrets.changePassphrase()

created a new helper encryptAndSave method that applies the GCM encryption
over an arbitrary plaintext. this allows us to reuse substantial amounts
of critical code between changePassphrase() and initializeSecrets()

refs #2728, #2571
add test suite for Wiper
remove old crufty test project
add changePassphrase to client-side API

closes #2571
handle error condition when the secrets can't be saved
document methods in PassphraseSecrets
spruce up PassphraseSerets header documentation
wipe x_passphraseKey in PassphraseSecrets.fetchSecrets

closes #2656