Implement basic caching around assignment CRUD

Implements caching around basic assignment CRUD actions.
    * assignment_api.get_domain
    * assignmnet_api.get_domain_by_name
    * assignment_api.get_project
    * assignment_api.get_project_by_name
    * assignment_api.get_role

The Create, Update, and Delete actions for domains, projects and
roles will perform proper invalidations of the cached methods listed
above.

Specific Cache Layer Tests added around assignment CRUD.

Modifications of LDAP tests done to handle caching concepts.

List methods are not covered by this patchset (list_projects, list_domains,
list_roles).

Grants are not subject to caching in this patchset.

DocImpact

partial-blueprint: caching-layer-for-driver-calls
Change-Id: Ic4e1a2d93078e55649ce9410ebece9b4d09b095a