Convert service v3 plugin to v2.1 API

Changes required to have v3 plugin natively support the V2.1
API

Remove the 1st level dict of service in the body param

Partially implements blueprint v2-on-v3-api
Co-Authored-by: Chris Yeoh <cyeoh@au1.ibm.com>
Change-Id: Ida59f00e3cf4640b63add1d6350aa7c30529807e
Port volume_attachments extension to v2.1 API

This patch ports v2 volume_attachments & volume_attachment_update
extension to v2.1.
Unittest code modified to share testing with both v2/v2.1.
API sample file and their tests have been added.

Partially implements blueprint v2-on-v3-api

Change-Id: Icf63529f317bc61debc665641d1c9d9f2e45bcec
Add "x-compute-request-id" to a response header

The commit I5e370fd3de5ee2f8a8d13553015d88910ff5ea87 changed
"x-compute-request-id" to "x-openstack-request-id" on v2.1 API.
But this change is backwards incompatible against v2.0 API.

This patch makes all v2.1 APIs return "x-compute-request-id" in
the header.

Partially implements blueprint v2-on-v3-api

Change-Id: Ibe46e4004a7124ddc9a622fa7f26b9ec10a9a702
Merge "Add "x-compute-request-id" to a response header"
Merge "Port volume_attachments extension to v2.1 API"
Merge "Convert service v3 plugin to v2.1 API"