Sync notifier module from Oslo

Pull in the common notifier from Oslo-incubator into Keystone. This only
introduces the notifier module and it's dependencies. This change is
standalone and doesn't contain any code to implementation notifications,
just the initial sync.

blueprint notifications

Change-Id: If62d6012a92e944f3196dd20e6cdd3236e7ecae2
Initial implementation of unified-logging

This is the base implementation of a unified logging solution for
Keystone from Oslo-incubator. More work is still needed to refactor the
rest of Keystone such that it is completely dependent on the
implementation from Oslo and not the older keystone/common/logging.py
implementation, this is also noted in keystone/common/config.py.

blueprint unified-logging-in-keystone

Change-Id: I711cbac8edd887c52114fb13327e37124ea86737
Merge "Sync notifier module from Oslo"
Move 'tests' directory into 'keystone' package

Similar to a range of other components (e.g. glance,nova,...) and recent
reviews by Monty.

Running individual tests can be done like this:

./run_tests.sh keystone.tests.test_drivers

Change-Id: I2482a48322150e5eb09b703326a94d8283f1c75b