Implement hybrid backends for keystone

This patch is a forward-port of patches from puppet-coe-service-patch
which had the following commit messages:

---

Original work by Sharmin Choksey (schoksey)

Original commit information:

	Ryan Uber's commit:
		keystone\common\config.py
		keystone\identity\backends\hybrid.py
			SHA-1: a2ab9c834cfb3fe855fb90d271d60d05bce901b2
			* Initial commit of module from allen sources

	John Patterson's commit:
		keystone\identity\backends\hybrid-idm.py
			SHA-1: f4f2c2e3e562388f358aafc385fd55d1ebb8cced
			* Added option to specify IDM driver
			Change-Id: Ie731b247e1ef2a016f486da525a7dd6a93107e83

---

Implements: rally-user-story US4145
Implements: rally-task TA3483
Not-in-upstream: true