Restructure developing.rst

The "Developing with Keystone" file was incorrectly structured.

1) The "Building the Documentation" section was under the
"dogpile.cache based Key-Value-Store (KVS)" section, which it's
got nothing to do with.

2) The "Running Tests" section was under the "Initial Sample Data"
section, which it's got nothing to do with.

3) Several testing-related sections could be put under their own
"Testing" section to keep them together.

Change-Id: Icb0c63385d9ccc24b91d17e057e60346ce1a648e
Replacing python-oauth2 by oauthlib

This patch replaces the old, unmaintained python-oauth2 library
by the better suited oauthlib in keystone oAuth modules.

The library switch comes with two notable changes in terms of use:

* the client must set the callback uri to 'oob' (out-of-band)
  explicitly when requesting a Request Token
* the requested_project_id header is not included in the signature
  anymore, in compliance with the oAuth1 spec.

Closes-Bug: 1240382
Change-Id: Ie553830cc80075aa818e719604e6bc4c754d2ae3
Implementation of internal notification callbacks within Keystone

Keystone subsystems (extensions or other modules) can now
subscribe to Create, Update, and Delete events.  This allows any
subscribed system to act upon the event and perform actions (such
as cleanup on delete).

Co-Authored-By: Guang Yee <guang.yee@hp.com>
Co-Authored-By: Morgan Fainberg <m@metacloud.com>

bp: internal-callbacks
Change-Id: I03713b7f1f94480f76e0121eb6184226062af1a6
Merge "Replacing python-oauth2 by oauthlib"
Merge "Implementation of internal notification callbacks within Keystone"
Merge "Restructure developing.rst"