Sets the data of a node at the given path, or creates it.

def set_or_create(self, path, *args, **kwargs):
        """Sets the data of a node at the given path, or creates it."""

        d = self.set(path, *args, **kwargs)

        @d.addErrback
        def _error(result):
            return self.create(path, *args, **kwargs)

        return d