735 owner cant leave project

closes #735 
can you abstract this with lines 20-22? seems like it should be OK to get instance.remove above since it'll be None.

with a helper like this
```python
def attrs_to_instance(attrs):
    instance.project = attrs.get('project', instance.project)
    instance.username = attrs.get('username', instance.username)
    instance.role = attrs.get('role', instance.role)
    instance.remove = attrs.get('remove', instance.remove)

    return instance
```

then here:
```python
if instance is not None:
    return attrs_to_instance(attrs)
...
```