Fix collection order issues and unit test failures

A randomized PYTHONHASHSEED caused the glance API to return certain data
in a nondeterministic order, breaking some tests. This patch sorts the
returned data before testing against a pre-sorted expected values.

This patch also fixes some unit test failures with the new version of
testtools (0.9.36) and directly calling setUp(). This was added to this
patch to avoid blocking more Glance tests.

Co-authored-by: Fei Long Wang <flwang@catalyst.net.nz>
Co-authored-by: Zhi Yan Liu <zhiyanl@cn.ibm.com>

Conflicts:
	glance/tests/unit/common/test_wsgi.py

Partial-bug: #1348818
Change-Id: Ie92c6bb5663826713ca99e8f2f7d70f3faef6675
Check on schemes not stores

Since the `_upload` method loads the store based on the scheme, we need
to check whether the scheme exists in the known schemes instead of
checking in the list of known stores. Without this fix, stores with a
scheme name different than the store itself will not be usable through
the `x-image-meta-store` header.

Conflicts:
	glance/api/v1/images.py

Closes-bug: #1357462
(cherry picked from commit 4502759243c0f363545f4236b41abaf8bcf9a37b)
Change-Id: Ia33afc1629cb47a31982df7932ac0d9aeb201b4f
Merge remote-tracking branch 'upstream/stable/icehouse' into stable/icehouse