Made URIStore abstraction for storage.
* implemented injectable model for generators, stores, uri-managers with tests for verification.
* established a top level context class and a resolver (no configuration just yet is required)
* introduced a 'NamedObject' class to denote that dynamically-loaded quantities (generators, stores, uri-managers) must all have a name with which they are retrieved from the context.
* next steps will be to allow a uriManager to have a dynamically configurable domain (one only), then separate out the Basic and Base32 generators into their own projects to prove we can dynamically load separate jars using ServiceLoader, then implement a real viable persistent correct uriManager.