Restructure KDS options to be more like Keystone's options

Restructure the KDS options to be more closely aligned with the way
Keystone options work and allowing movement towards not registering
the options on import. This will also prevent KDS options from
appearing in the Keystone auto-generated sample config.

Change-Id: I073aa58ff3132e2714478f54c88c3a8200ff47da
Use Oslo.db migration

Changed imports from keystone.common.sql.migration to
keystone.openstack.common.db.sqlalchemy.migration.py.
Surrounding code adapted.

Change-Id: I0bdfc6d386d8b11f01da9061ffaf15462840822e
Blueprint: use-common-oslo-db-code
Use global to represent OS-TRUST:trust

When sending a notification a resource_type is required, such as a
'user', 'project', or 'OS-TRUST:trust'. This value is consistent between
operations so it can be stored in a class global variable.

Change-Id: I1a9e66330d980e13d306f4d6a6c0f248e75a858e
Clean StatsController unnecesary members

Removed from StatsController unused members

identity_api, policy_api, token_api

Closes-Bug: #1255990
Change-Id: I0edfe5ce270a2d88dc33273a05c9f13eb379c052
Replace notifier with oslo.messaging

Oslo messaging works slightly differently in that you create a Notifier
object once which contains config such as publisher_id and then you
re-use that object when issuing messages.

DocImpact: The options for setting up RPC and notifications have changed
to reflect oslo.messaging.

Blueprint: oslo-messaging
Change-Id: I2d08fb405e68df37866b3799ab7339ebd9894f05
Merge "Replace notifier with oslo.messaging"
Switch over to oslosphinx

oslosphinx is the new name of oslo.sphinx

Closes-Bug: #1277168
Change-Id: I9c52b7ad5459c51ed3d2a92d9011c34c9de4de5a
Merge "Use global to represent OS-TRUST:trust"
Merge "Use Oslo.db migration"
Merge "Clean StatsController unnecesary members"
Use class attribute to represent 'project'

When sending a notification a resource_type is required, such as a
'project'. This value is consistent between the notification.created,
updated, delete, disabled methods in the Manager class, so use a class
attribute to represent it.

Change-Id: I65cc0ffb1d8811ae9f518492f998e426005345f0
Adds Cloud Audit (CADF) Support for keystone authentication

This restores context passing to the manager layer which was originally
included to support auditing / logging (which we haven't supported until
now), and was later removed to support caching. However, we don't have
any reason to cache the results of authenticate() and it needs to be
audited. -dolphm

Change-Id: I2d43617f66fa2b23221dcfa4f7e935f64e458e1c
Implements: bp audit-event-record
DocImpact
Merge "Switch over to oslosphinx"
Adds model mixin for {to,from}_dict functionality

Implements ModelDictMixin, which is an alternative to DictBase that does
not force a module to have an "extra" field. It also gets away from the
idea that we need to keep a list of attibutes, named `attributes`, on
each model definition.

Change-Id: Id2c208ee9be4cc17b1b6444c5e0558952571163b
Fixes-bug: #1265071
Keystone team uses #openstack-keystone now

Keystone Team uses #openstack-keystone for IRC chatter now. Any cross
project topics still should be in #openstack-dev.

Change-Id: Ie4c6d6aee3bbdd8206fc0e5b00ecabfcaa265cb2
Merge "Adds Cloud Audit (CADF) Support for keystone authentication"
Merge "Use class attribute to represent 'project'"
Merge "Keystone team uses #openstack-keystone now"
Merge "Restructure KDS options to be more like Keystone's options"
Merge "Adds model mixin for {to,from}_dict functionality"