Better YAML overriding

Now it does not take just the root element into the account, but it crawls throught the dictionary and only updates the values that are present in the new dictionary. It converts all dicts to Configs, other values than specified in override dict are not touched.

It also improves the ``__getattribute__`` behaviour - now it propagates the interface to the child nodes by converting all ``dict`` to ``Config`` before returning the value, so the dot operator can be used everywhere.