Add heat stack action test case

Ensure heat action-suspend and action-resume can work
well, so add these cases.

Change-Id: I6ec1b82f1e138ea56d6a8e7cf78d1f9a12a96f2d
Add a discoverable_apis option for swift

This commit adds a new list option for the object-storage-feature-enabled
config group, discoverable_apis, which lists out which Swift discoverable
optional apis are expected to be enabled on the swift server. It also
converts the pre-existing single boolean options for these types of
features to use the new list option. This option is used in the same
manner as the extensions list options for the other services. However,
since swift doesn't have the same concept of extensions as some of the
other OpenStack projects optional discoverable apis (which are often
but not always tied with middleware) were used instead. If an optional
api being enabled isn't discoverable from an external api call then
that should have a separate config option in the
object-storage-feature-enabled config group.

Partially implements bp config-cleanup

Change-Id: I846860804050ec44491ce05d6b72e1cc639609b1
Neutron Agent Management List Agents Non Admin

Moved test_list_agents_non_admin to test_agent_management.py as
it remains relevant (and will not be autogenerated).

Change-Id: I48c7c86acd581ebef772a2154f2b9d59f30f9082
Fix volume metadata validation of identical to request

This change is for fixing bug 1264418 tempest cases.
During the creating volume process, driver can add specified
data to "metadata", but some tempest cases avoid to do so.
Use assertDictContainsSubset instead of assertEqual to check
the metadata. Also verified this changeset works.

Modified per Giulio's comment:
Use testtool.matcher#ContainsAll to assert if the dict contains
the sub dict.

Change-Id: Ief92b60d39acbde97f620b1a9ab943a13022d839
Partial-Bug: 1264418
Merge "Fix volume metadata validation of identical to request"
Merge "Add heat stack action test case"
Merge "Neutron Agent Management List Agents Non Admin"
Merge "Add a discoverable_apis option for swift"