Allow v2 client authentication with trust_id

It should be possible to authenticate against the v2 tokens
API with a trust_id, because it suports rescoping an existing
token to a trust, this patch adds client support for this.

Note with the current keystone code it's necessary to pass the
trustor tenant ID when rescoping with a trust where
impersonation==True, e.g:

c = client_v2.Client(username=TRUSTEE_USERNAME,
                     password=TRUSTEE_USERNAME,
                     tenant_name=TRUSTEE_TENANT_NAME,
                     auth_url=OS_AUTH_URL_V2)
c.authenticate(trust_id=trust_i.id, tenant_id=TRUSTOR_TENANT_ID)

Change-Id: I177c41af298b7437e2c6fb437aa9ce9a09773b9d
Closes-Bug: #1231483
Fixes print error for keystone action with non-English characters

When processing keystone tenant-delete action with non-English
characters, printing the exception traceback will result in a
UnicodeEncodeError, so should encode text with safe_encode.

Fixes bug #1231472

Change-Id: Ic2599c51513189c132e31aa87d0d15df81802688
assertEquals is deprecated, use assertEqual (H602)

Change-Id: Iefd087320659909b89864018ccb4ccf50a75aff6
python3: Make iteritems py3k compat

Use six.iteritems to replace dictionary.iteritems() on python2 or
dictionary.items() on python3.

Change-Id: I972f065414e22d287bd7e00ab2c6e754f17afb75
Signed-off-by: Chuck Short <chuck.short@canonical.com>
Updated from global requirements

Change-Id: I4f26d3a8790c799e5c1f7f81031406e0c57545f9

Change-Id: Ica7315effe308bd739e90f885849fac27a3c542b

Change-Id: I2cc2769b89bd040064408faea30c448350fa5f00
Merge "assertEquals is deprecated, use assertEqual (H602)"
Merge "Fixes print error for keystone action with non-English characters"
Merge "python3: Make iteritems py3k compat"
Merge "Allow v2 client authentication with trust_id"
Add AssertRequestHeaderEqual test helper and make use of it

This will be a fairly common pattern and so should be a helper of its
own.

Change-Id: Ic06add6dfe40c7d3ab88dfdd99a9087fdebd9b67
Merge "Updated from global requirements"
Replace OpenStack LLC with OpenStack Foundation

Some files still use trademark OpenStack LLC in header, which
should be changed to OpenStack Foundation.

NOTE: tools/install_venv.py is not touched, should sync with oslo

Change-Id: I01d4f6b64cf1a152c4e190407799ce7d53de845f
Fixes-Bug: #1214176
Remove runtime dependency on python-pbr.