kv is much better name for key-value store
Implemented sub-tree hash map
Renamed size to _size to not overwrite the original size attribute
No need to return "", it's actually default value for key and val
Added putBytes and getBytes functions
Eliminated ambiguity in error messages