Cleanup of test_cert_setup tests

- Removed the redundant calls to load backends and fixtures
- Only create a controller in the one test that needs it

Change-Id: I6c068452479ceb23010396f14fe6d155ac954b04
Don't re-raise instance

There were a couple of places where the code would re-raise an
exception with `raise inst`. This would lose the original
backtrace.

Change-Id: I437039fe520bd88b556af9ed2ee4a14bfe120498
Adding one more check on project_id

Project_id is not a required attribute in creating Trust.
Authentication with this kind of trust results in an error:
"Expecting to find id or name in project".
This message is misleading as the trust creation without project_id
was successful which is a valid behavior.
This error message is generated from checking if project_id is in trust
metadata.
One more check is needed to verify if project_id is None or populated.

Closes-Bug: #1301622
Change-Id: Ic711a63f43ca87a97cb7f761170fa8aa2d45e11e
Isolate backend loading

Pecan uses thread local storage and so if we combine pecan and eventlet
we need to make sure that eventlet is monkey patched before pecan is
first loaded.

To keep the paste.ini file untouched we need to keep the app creation in
service.py but we can't load that from keystone-all because it has pecan
in it.

So we create a new file that can be safely imported before pecan is
loaded.

Change-Id: If7abf1db9859d66c06f7f223056c106292f256fa
blueprint: keystone-pecan
Add missing import, remove trailing ":" in middleware example

Minor fixes to the external authentication example given in the
documentation.

Change-Id: I2bef7da8bf8278349fec80a513095637ea49f19a
Closes-Bug: #1308634
Co-Authored-By: Florent Flament <florent.flament-ext@cloudwatt.com>
Merge "Adding one more check on project_id"
Merge "Isolate backend loading"
Merge "Cleanup of test_cert_setup tests"
Merge "Don't re-raise instance"