Add basic K2 storage framework implementation.

Due to the size of the commit, I'm submitting the unit tests in a separate request.
I don't like this magic string hash map of strings. This is a land mine waiting to be a bug. At a minimum this  should be a public static final string inside of K2Strings? Even better would be if you have methods that return this string explicitly.