project disabled/deleted notification recommendations

These recommendations represent the outcome of the Keystone/Barbican
cross-project discussion regarding:

  https://review.openstack.org/#/c/99658/

This discussion occurred at the keystone hackathon for Juno.

Change-Id: Ib67c85a9f900ef0a6a346cdbf3280b3a8f977ad7
Fixes a Python3 syntax error

Python3 has a new way to raise an exception with an existing traceback.
In Python2 there was a special syntax, but that was removed in Python3.

bp python3

Change-Id: I6811f7f46693fc84d0c61116cdd4897b6c20a9fc
Consolidate `assert_XXX_enabled` type calls to managers

There are multiple implementations of the various assert_XXX_enabled
methods. These have been consolidated to rely on the appropriate
manager objects (e.g. domain uses assignment_api, user now uses
identity_api).

``keystone.token.core.validate_auth_info`` has been deprecated
with no plans to be superseded as the new ``assert_XXXX_enabled``
methods now cover the functionality.

This is another step in the process to deprecate the functionality
from the token_api (and move relevant logic either the
token provider or other relevant locations).

Change-Id: I450daaca946e9695ff30e058adecef6ef0b9058a
bp: non-persistent-tokens
Example JSON files should be human-readable

Change-Id: I58a68829176a8447133c99908338b90b7204a694
implement GET /v3/catalog

Change-Id: I0ed53f4758cc6bd8771ef2b4b291480bbbfc1631
blueprint: get-catalog
Extracting get group roles for project logic to drivers.

get_group_project_roles is now implemented in each driver.

SQL and LDAP backends will see significant improvements on
performance (less queries made to resolve the groups).

KVS backend now supports inheritance and runs correct unit
tests.

Co-Authored-By: Pablo Fernando Cargnelutti <pablo.fernando.cargnelutti@intel.com>
Change-Id: I7a0190cd4a3b1eb26a09ef6436ca5450cf837135
Closes-Bug: #1205506
Merge "project disabled/deleted notification recommendations"
Merge "Consolidate `assert_XXX_enabled` type calls to managers"
Merge "Extracting get group roles for project logic to drivers."
Merge "Fixes a Python3 syntax error"
Merge "Example JSON files should be human-readable"
Merge "implement GET /v3/catalog"
Merge branch 'master' of https://github.com/openstack/keystone into hierarchical-projects-base
Merge branch 'hierarchical-projects-base' of https://github.com/rodrigods/keystone into leaf-projects-crud