Policy Enforcer, pass entire context dict

The oslo enforcer expects "as much detail as possible" about the
calling user in the creds dict, so include the whole context dict,
which will enable more complex policy rules to be expressed than
with the current code where we pass only a subset of the context
data.

Change-Id: I70bd0fb07bb0b8e9c3c2b94b399197ad207d0fd2
Replace str() with six.text_type() where exception is used

When switching to oslo.i18n, tests where used str(exc) will failed
with unicodeerror, so before switching to oslo.i18n, need to
replace str with six.text_type where exception is used. And it's
recommanded to use six.text_type instead of str in openstack.

Change-Id: Ie37a6ef74a12b2580ce72afc75c99bcd19d4cf97
Merge "Policy Enforcer, pass entire context dict"