removing 'permissions' from valid update keywords for role update, movin...

...g manager functionality out of authorization.py, removing duplicate declaration of permission operation constants in permission.py and adding missing unit tests

Summary -
https://bugzilla.redhat.com/show_bug.cgi?id=1066040

This was a good find and a valid bug. The fix though is not actually fixing the api to update permissions correctly, but to give a proper error message when trying to update permissions this way.

The right way to update permissions for a user and role is to use permissions apis documented in http://pulp-dev-guide.readthedocs.org/en/latest/integration/rest-api/permission/actions.html. These handle granting as well as revoking permissions to users and roles. This is to support adding to or removing from existing permissions without completely altering them and then to propagate the permission change to the users belonging to a role. This also removes confusion and ambiguity in the role update api for permissions where the user might expect to append permissions rather than altering them completely. 

A few more things that the PR contains -
1. Moved permission operation to numeric value conversion functionality to permissions manager.
2. Removed duplicate declaration of permission operation value constants from permission manager and using them authorization.py like everywhere else.
3. Added a bunch of missing unit tests
4. Documentation cleanup