def update(self, d=None, **kw):
        items = []
        if d:
            # look up keys even though we call items
            # because that's what the dict.update
            # doc says
            if hasattr(d, 'keys'):
                items.extend(list(d.items()))
            else:
                items.extend(list(d))
        items.extend(list(kw.items()))
        for key, value in items:
            self[key] = value
Update the namespace. This is less efficient than the standard 
dataset/ETHPy150Open paver/paver/paver/options.py/Namespace.update