Microversion v2.20 tests: nova volume operations when shelved

Compute microversion v2.20 allows the volume attachment operations
while server in shelved and shelved_offloaded state.

Ref- http://docs.openstack.org/developer/nova/api_microversion_history.html#id18

This commit adds tests for that behavior and verify the attaching and detaching
volumes from a shelved or shelved_offloaded server.

NOTE- In addition to tests, this also does some schema versioning.
Tempest strictly validate the response and does not allow additional elements
in response.
As v2.20 microversion request will respond as latest behavior of Nova till V2.20,
response schema needs to be version for older microversion if response is changed in between.
Adding schema versioning for v2.9 and 2.19 where server response has been changed.

Co-Authored-By: ghanshyam <ghanshyam.mann@nectechnologies.in>

Change-Id: I5ececf58f7ccda5521ace456f017795f14f11def
6 files changed