Add and refactor member_create tests, and raise better exception when "id" isn't received

If "id" wasn't received, instead of throwing the seemingly unrelated error:

    AttributeError: 'NoneType' object has no attribute 'id'

We now throw:

    ValidationError: {u'id': u'Missing value'}
member_create accepts either the object's id or name, and have extra validations.

Even though its documentation said it accepted the object's id or name, this
wasn't the case. This is fixed now.

I've also added validations to check that the group, the object, and
object_type exists and are valid.

Now we always save the object's id in our members table, even if someone
calls member_create passing its name as obj_id.
member_delete accepts either the object's id or name, and have extra validations.

To make member_delete consistent with member_update, I've changed it to accept
either the object's id or name.

I've also added validations to check that the group, the object, and
object_type exists and are valid.
Limit lines to 80 characters