Do not throw KeyError for unbound keys, return KonfUndefined instead.

It is quite messy the Haskell exception handling mechanism.