Sync oslo threadgroup.py to fix wait & stop methods

Sync oslo threadgroup.py to 25ff65e955b7ef1091722224f7c71f14fc971354 so
we include the fix for bug #1196525, which resolves a problem where the
wait and stop methods would not actually wait for/stop all threads in
the thread group.

Change-Id: Ia49d7096180b2942cf49b1f0dacde3c5e933337c
oslo: update the remainder of the modules

Change-Id: I83796c1e1f2f69d2ce27e7180c4004a5f345f063
Remove unused variable badkeys

Since it's never used and consumed a set subtraction.

Change-Id: Ic2231ad5e491527c7f746172d9a3e07a6623b823
Fix missing policy enforcement in CFN API

Currently the CreateStack and UpdateStack actions aren't correctly
enforcing the policy, so add calls to _enforce which fixes that,
and rework the test to illustrate the issue.

Change-Id: Ia5c2e65512ab9d1c163171f8617c081ab96745e5
Closes-Bug: #1256049
Add validation for an existence of a resource type

Validation of resource type existence was missing.
The patch adds validation checks that in the template the resource
type is set and is not an empty string.

Change-Id: I171644010ec868e8acc4c29556889256e8bf51b6
Closes-Bug: #1257243
Merge "oslo: update the remainder of the modules"
Merge "Remove unused variable badkeys"
Merge "Sync oslo threadgroup.py to fix wait & stop methods"
Deny API requests where context doesn't match path

We shouldn't overwrite the context tenant_id (which comes from the
scope of the auth_token) with that from the path, instead raise a
HTTPForbidden exception if the path-provided tenant_id doesn't match
the context.

Change-Id: Ib6fb9881103312f7492081a20178f12309f35d81
Closes-Bug: #1256983
Merge "Fix missing policy enforcement in CFN API"
Merge "Deny API requests where context doesn't match path"
Merge "Add validation for an existence of a resource type"