Add SQLite and in-memory key storage drivers

#### Summary of Changes:
* Examples include a SQLite storage driver and a small program demonstrating the user-facing storage API.
 * Updated gradle build files to compile/test example sub-projects.
* Implemented a K2-native in-memory driver.
 * Stores keys in proto message form for the duration of a K2Context.
* Refactored unit tests for storage drivers.
 * Moved all shared testing logic to two super-classes: one for basic testing and another for testing file-based drivers.

I would expect it to live the lifetime of the VM unless explicitly deleted. But I could be convinced otherwise.