Access dict values as attributes (works recursively).
copied from cf-staging / easydictEasyDict allows to access dict values as attributes (works recursively). A Javascript-like properties dot notation for python dicts.
=====
::
>>> from easydict import EasyDict as edict
>>> d = edict({'foo':3, 'bar':{'x':1, 'y':2}})
>>> d.foo
3
>>> d.bar.x
1
>>> d = edict(foo=3)
>>> d.foo
3