docs: def nmget(o, key_path, def_val=None, path_delimiter='.', null_as_default=True):
      '''
      A short-hand for retrieving a value from nested mappings
      ("nested-mapping-get").  At each level it checks if the given "path"
      component in the given key exists and return the default value whenever
      fails.
  
      Example:
      >>> o = {'a':{'b':1}, 'x': None}
      >>> nmget(o, 'a', 0)
      {'b': 1}
      >>> nmget(o, 'a.b', 0)
      1
      >>> nmget(o, 'a/b', 0, '/')
      1
      >>> nmget(o, 'a.c', 0)
      0
      >>> nmget(o, 'x', 0)
      0
      >>> nmget(o, 'x', 0, null_as_default=False)
      None
      '''
      pieces = key_path.split(path_delimiter)
      while pieces:
          p = pieces.pop(0)
          if o is None or p not in o:
              return def_val
          o = o[p]
      if o is None and null_as_default:
          return def_val
      return o