Introduced the ConfigurationResolver.

Implementations of this interface can be injected into a CornerstoneConfiguration.  Its job is to
provide a collection of configuration prefixes to be applied to all known prefixes used for looking up
configuration properties.  This allows applications to use any means they need to generate prefixes at runtime.

Change-Id: I1d03c11de73ea3ebc5dc7908c6fe1fcae96c6a8b