Address issues discovered in review.

Renamed classes to include word Volatile so people know this isn't
persistent storage.

Add option to change kernel keyring type.

Fix subclassing and define required functions.

Add tests for testing a user-specified keyring type.