fix for compatibility with getattr() buildin method

- fix for compatibility with getattr() buildin method. When an invalid key is requested, it now raises a AttributeError instead of a KeyError.
- allow initialization without arg: Namespace() is equivalent to Namespace({})
This test covers the problematic use case