Add hooking mechanism to ContextRole

This hook ensures that each subclass of ContextRole is inserted into a
repository, such that it can be found by name.
Add Permission.grant(privilege_set, config).
Add some documenting comments.
Replace explicit requires with autoloads.
Fix controller spec action parameters syntax
Fix deprecation warning for RSpec 'mock'
Inline SomeControllerSpec#add_role_to_privilege for better readability.
Add PrivilegeSet class.
Implement SomeControllerSpec#configure_context_role.
Create empty GenericRole in SomeControllerspec#create_generic_role.
Create PrivilegeSet and store PrivilegeSets and Roles in Repositories.
Introduce ArrthorizerException that can contain nested Exceptions
Register GenericRoles when they are created.
Add PrivilegeSet#make_accessible_to
Add Permission.grant
Create a PrivilegeSet in SomeControllerSpec#create_privilege_for.
Make 'rake' run the default rspec task
WIP: Notes for building a evaluation context for ContextRoles.
Add hooking mechanism to ContextRole

This hook ensures that each subclass of ContextRole is inserted into a
repository, such that it can be found by name.
Add Permission.grant(privilege_set, config).