'Alternative to __setitem__ that can ignore errors.
Sometimes we want to serialize a structure that contains some simple
objects, and some that can\'t be serialized.  This method gives the caller a
way to specify that they don\'t care about values that can\'t be
serialized.
Args:
key: dict key
value: dict value
raise_on_error: if True, raise if we can\'t serialize.  If False, set the
key to an error string.'

def SetItem(self, key, value, raise_on_error=True):

    self.dat.dirty = True
    self._values[key] = KeyValue(k=DataBlob().SetValue(key, raise_on_error=raise_on_error), v=DataBlob().SetValue(value, raise_on_error=raise_on_error))
