Refactor notifications

I'm replacing the implementation of notifications with the blinker
library. In order to do this properly I wanted to have a more defined
interface and less coupling in the tests. Test should be unaware of the
implementation of the thing they are testing so that the implementation
can be changed later.

Change-Id: Icdcbf77944187bc9b2b390420862f700baa179c9
Use oslo.test mockpatch

Keystone was using mockpatch from oslo-incubator. Since oslo has
migrated these parts to oslo.test, switch to the oslo.test versions.

Note that these modules aren't mentioned in openstack-common.conf,
otherwise this change would remove it.

Change-Id: I2d4cd0b3e980d397b0111f25b2f645ae09dd9199
Some methods in ldap were moved to superclass

Methods add_user and remove_user was moved from RoleAPI and GroupAPI
to the superclass BaseLdap for unification.

Change-Id: Iacc9c87cee4b62b5535d2ad6515a6f58942257e6
Merge "Refactor notifications"
Merge "Some methods in ldap were moved to superclass"
Merge "Use oslo.test mockpatch"