Fixes race condition in resources

See #1378.
Since one of the only things we ever do with this model is create and save new instances, perhaps you can add:
```python
@classmethod
def new(cls):
  return cls.objects.create()
```

and use ``ResourceGroup.new()`` everywhere you currently do
```python
group = ResourceGroup()
group.save()
```

(Or call it ``ResourceGroup.create()``. Or don't create a new function, and just call ``ResourceGroup.objects.create()`` instead of using those two-liners.)