Introduce MapKeyValueAdapterFactory.

The factory allows to create Adapters given a specific desired type. We’ll use CollectionFactory to create appropriate instances or default to ConcurrentHashMap. The factory also allows to populate the adapter with an initial set of values.