Remove kombu as a dependency for Nova

It was required before oslo.messaging.

Change-Id: I3159b8509ac5b4020cd584c894eb131bb16df97c
Faster get_attrname in nova/objects/base.py

get_attrname function is called very very often,
and it's string concatenation method is not fast.

* Changing the string concatenation to a 2 times
  faster + operator instead of the % operator.

Change-Id: I326fd6dda8dd41a90757c69867afd62063231362
Error code for creating secgroup default rule

Trying to create secgroup group default rules
that already exists gives HttpBadRequest error,
but it should raise HttpConflict.

So updated the code to HttpConflict error.
Closes-Bug: #1374320

Change-Id: I93c6eb7fb96e7109404206367ed81495a4724296
Make instance_get_all_*() funtions support the smart extra.$foo columns

This is a follow-on to a previous patch set that made the extra columns
valid for being specified in columns_to_join, as they require slightly
different handling.

Related to blueprint flavor-from-sysmeta-to-blob

Change-Id: Ieffec0e846565b7521fe620694d9f84c67066e11
Replace the rest of the non-object-using test_compute tests

This has some effects on both conductor task and shelve tests. The
shelve tests are overly complex and a troubling mix of objects and
raw DB, which I converted as best I could.

Related to blueprint flavor-from-sysmeta-to-blob

Change-Id: I410af5ce989555b6f7cb80676f0ed0537855b9ce
Adds API microversion response headers

Adds the following headers to REST API headers for API
microversions:

X-OpenStack-Compute-API-Version: Version
Vary: X-OpenStack-Compute-API-Version

Partially implements blueprint api-microversions

Change-Id: I5748d7b81b355bf8aad6bb8703d1a29a97798452
Add support for microversions API special version latest

Adds support for specifying 'latest' as the version of the API in
the X-OpenStack-Compute-API-Version header. This will always
behave as if a request was made for the maximum version
supported.

Partially implements blueprint api-microversions

Change-Id: Ib40b20a01991e6f356b9376f797405a4c50b7e99
Merge "Adds API microversion response headers"
Merge "Add support for microversions API special version latest"
Merge "Make instance_get_all_*() funtions support the smart extra.$foo columns"
Merge "Replace the rest of the non-object-using test_compute tests"
Merge "Remove kombu as a dependency for Nova"
Merge "Error code for creating secgroup default rule"
Merge "Faster get_attrname in nova/objects/base.py"