Use region for cinder management uri

Make the cinder client region-aware since Rackspace supports
more that one and needs to know in which region to deploy
volumes.

Closes-Bug: #1268706
Change-Id: Ibf7cf4fbabd1e11f798423b9ad2698e43cd46687
Refactor heat gate testing contrib support

The existing code is running tests twice, one for heat, one for
contrib via adding two commands in tox.

This breaked tox single run. For example:

  tox -e py27 -- heat.tests.test_software_config

Except heat.tests.test_software_config is executed, all test cases in
contrib will be executed also.

The patch added contrib in discover list, which can make sure both
contrib in heat gate testing and does not break single test run.

Change-Id: I014d7b95c64287e1fd04a0ba69fce0de554a9a08
Fix adding heat_stack_user role via v3 API

A regression was introduced via 301a894 because it expects
keystoneclient functionality which is not yet merged/released,
so instead of passing the name to roles.list() we must filter
the results locally to lookup the role ID.

The lack of filtering support is a general issue with the v3
keystoneclient interfaces, so when it's fixed we can remove
this workaround.

Closes-Bug: #1271190
Change-Id: I1b29cc131496e4b19493a8cd8e6d4ed913db0938
Merge "Fix adding heat_stack_user role via v3 API"
Merge "Refactor heat gate testing contrib support"
Merge "Use region for cinder management uri"