'If the first parameter is a string, all keys are prefixed with this
namespace. Apart from that it works just as the usual dict.update().
Example: ``update(\'some.namespace\', key=\'value\')``'

def update(self, *a, **ka):

    prefix = ''
    if (a and isinstance(a[0], basestring)):
        prefix = (a[0].strip('.') + '.')
        a = a[1:]
    for (key, value) in dict(*a, **ka).items():
        self[(prefix + key)] = value
