Namespaces with strongly-typed keys/indexes

- Namespace implemented as a templated class allowing for virtually any
type to be used as a cache key
- Template specializations created for <uint64_t>, <std::string> and
<PureTech::Uuid>
- Basic testing
Merge branch 'master' of github.com:robcolbert/puretech-kvcache

Conflicts:
	README.md