Better recognition of properties

This commit improves the recognition as follows:

* Interface types are now excluded by default as the binder has no way
to figure out which type to instantiate from the key. A special case for
map and collection has been added as these are treated explicitly
* Inner config can be crawled automatically as long as the type is an
inner class of the current config class
* Primitive types are now translated to its wrapper counter part

Improves gh-1001