Fix discover command failed to read extension list issue

Fix the key error which caused discover command failed to read the
response body of extension list result. This change also added test
cases to cover the use case of generic client extension discovery.

Change-Id: Id687f8d73cead28f594de00d3b5ff9086558947b
Closes-Bug: #1266710
Sync with global requirements

Change-Id: I366b3a23bcb82203b347fa13f0385024bae62cab
Replace assertTrue with explicit assertIsInstance

assertIsInstance can provide useful message when test fails,
this patch replaces assertTrue(isinstance(x, y)) with
assertIsInstance(x, y).

Change-Id: I1a36b4f343c881b6690389753270d35599b758ab
Closes-Bug: #1268480
Python 3: fix the _calc_signature_* functions

This commit makes the _calc_signature_* functions work in python 3. The issues
were usual text strings vs bytes that arise when porting code to Python 3.

Change-Id: I36b40012b09d4f72e9248b49d51dc545d70abfc6
Respect region name when processing domain URL

When deprecating the use of management_url from service_catalog we
updated the management_url setter for the project scoped token, however
we missed the domain scoped token case.

There is actually nothing we can do here to test this scenario as the
backwards compatibility code that was installed handles this for us and
there is no problem, however we should not be internally relying on
deprecated code.

Change-Id: I59bac4d9d74f2eb8bc6edd40518c7cd5a4fe1343
Sort items in requirement related files

Update two requirement related files with command: sort-i {filename}.
This make these files more readable, can find the libraries easily.

Change-Id: I5969ef37d02814bf2c09761f133464c5a02f0d6b
Remove test_print_{dict,list}_unicode_without_encode

These tests do not really make sense: they expect the strutils.safe_encode()
method to fail for some reason.

Change-Id: I2ca07c06f86e4d83ae153601a0dab9a8f393f3e3
Python 3: set webob.Response().body to a bytes value

In Python 3, the body attribute of a webob.Response instance has type 'bytes':

    >>> import webob
    >>> type(webob.Response().body)
    <class 'bytes'>

Change-Id: Ic60454dd1713ebd5ae84daaa113ccb0270ca37ed
Consistently support kwargs across all v3 CRUD Manager ops

Co-Authored-By: Saju Madhavan <sajuptpm@gmail.com>
Closes-Bug: 1047867
Implements: blueprint extensible-crud-manager-operations
Change-Id: I64e11bcf3797eb84e4695605daea9749259d78ec
Merge "Replace assertTrue with explicit assertIsInstance"
Fix typos in documents and comments

Fix typos detected by toolkit misspellings.

* pip install misspellings
* git ls-files | grep -v locale | misspellings -f -

Change-Id: Ifbbc29537d9d129aad238de6c37718c4fbb8349b
Merge "Respect region name when processing domain URL"
Fix E12x warnings found by Pep8 1.4.6

These are missed due to bugs in 1.4.5.

Closes-Bug: #1267994
Change-Id: Ic7b37abf757a9b7b0c8306c941949dee93b83e08
Merge "Sort items in requirement related files"
Merge "Remove test_print_{dict,list}_unicode_without_encode"
Merge "Python 3: fix the _calc_signature_* functions"
Merge "Fix typos in documents and comments"
Merge "Fix E12x warnings found by Pep8 1.4.6"
Merge "Fix discover command failed to read extension list issue"
Merge "Sync with global requirements"