Cross-service domain-related role validation

Since Keystone is the only component that
will be aware about the domains concept, this POC
adds an extra endpoint that can be used by other
services to enforce domain-related roles checking.

The endpoint used in this POC is:
/v3/projects/<project_id>/roles/<role_name>

Although, it is suggested the usage of an extension
endpoint to handle such calls.

Example rule:
"compute:create":"rule:domain_admin"
"domain_admin":"http://localhost:5000/v3/projects/%(project_id)s/roles/admin"

The domain-ralated check has the following steps:
1 - Get domain_id from target project
2 - Filter all role_assignments from logged
    user in target domain
3 - Check if role_assignments contains target role
Merge branch 'domain-check' of https://github.com/rodrigods/keystone into domain-check

will be aware about the domains concept, this POC
adds an extra endpoint that can be used by other
services to enforce domain-related roles checking.

The endpoint used in this POC is:
/v3/projects/<project_id>/roles/<role_name>

Although, it is suggested the usage of an extension
endpoint to handle such calls.

Example rule:
"compute:create":"rule:domain_admin"
"domain_admin":"http://localhost:5000/v3/projects/%(project_id)s/roles/admin"

The domain-ralated check has the following steps:
1 - Get domain_id from target project
2 - Filter all role_assignments from logged
    user in target domain
3 - Check if role_assignments contains target role

Conflicts:

	keystone/assignment/controllers.py

Conflicts:
	keystone/assignment/controllers.py