Keystone v3 improvements.

Managers for project group membership, project user membership, project combined membership (users and groups); for group project membership, group users, group roles; for user project membership, user roles.
I get what you're saying overall w.r.t. bound functions, but the problem in *this specific case* is that my class purposefully doesn't extend Manager (just quacks like one), but I want to call safe_complete as though it did.