Walter's ipipe patch:
If calling a function in _getattr() raises an AttributeError, return the
default.
Make xattrs() more robust: If calling __xattrs__() raises an exception
fall back to (None,).
Make xrepr() more robust: If calling __repr__() raises an exception fall
back to using repr().
Replace a generator expression with a list comprehension in the
_BrowserLevel constructor so that ipipe stays Python 2.3 compatible.
Fix handling of empty lists in ibrowse: You can not enter empty lists,
and the browser displays an empty screen with the message <empty>.