Change v3 shelve to v2.1

This patch changes v3 shelve API to v2.1 and makes v2
unit tests share between v2 and v2.1.
The differences between v2 and v3 are described on the wiki page
https://wiki.openstack.org/wiki/NovaAPIv2tov3 .

Partially implements blueprint v2-on-v3-api
Change-Id: Ie4cd72d23592fe2bd1a66137b12bb84400ccfc18
Change v3 version API to v2.1

This patch changes v3 version API to v2.1 and makes v2 unit tests
share between v2 and v2.1.
v2.1 API does not support XML format. Unit tests related to XML
don't work against v2.1.

Partially implements blueprint v2-on-v3-api

Change-Id: I7abadb0c9082b9e90a98938967f0e27d1a2fa766
Changes V3 server_actions extension into v2.1

This patch changes v3 server_actions API to v2.1, and also share v2.1 and v2
test case.
rename server_actions back to instance_actions.
The differences between v2 and v3 are described on the wiki page
https://wiki.openstack.org/wiki/NovaAPIv2tov3 .
Partially implements blueprint v2-on-v3-api

Change-Id: I8f11dc5f199711e1c98badfbe0035883d9c15573
Merge "GET servers API sorting enhancements common utilities"
Merge "Move and generalize decorator serialize_args to nova.objects.base"
console: add serial console module

Adds new module console/serial.py to handle configuration
and TCP ports management for the feature serial-ports.

Co-Authored-By: Vladan Popovic <vpopovic@redhat.com>
Co-Authored-By: Ian Wells <iawells@cisco.com>
Co-Authored-By: Sushma Korati <sushma_korati@persistent.co.in>

DocImpact: new group of option 'serial_console'
Partial-Implements: blueprint serial-ports
Change-Id: Icb7f3569a29a5fab9aaa3a2d441f5fe4e5b55b9f
cmd: add nova-serialproxy service

Adds a websocket proxy that is compatible with Nova
serial ports.

Co-Authored-By: Vladan Popovic <vpopovic@redhat.com>
Co-Authored-By: Ian Wells <iawells@cisco.com>
Co-Authored-By: Sushma Korati <sushma_korati@persistent.co.in>

Partial-Implements: blueprint serial-ports
Change-Id: Ia944cb93945140e6341588063329a981f7e778f1
Merge "Decrease amount of queries while adding aggregate metadata"
Merge "xenapi: Attach original local disks during rescue"
Merge "Fix error in log when log exception in guestfs.py"
Merge "Work on document structure and doc building"
Merge "Use instance objects consistently in suspend tests"
Merge "Prepend /dev/ to root_device_name in get_next_device_name"
Merge "Made unassigned networks visible in flat networking"
Merge "Changes block_device_mapping extension into v2.1"
Merge "Catch BDM related InvalidBDM exceptions for server create v2.1"
Merge "Add extension block_device_mapping_v1 for v2.1"
Merge "Convert v3 server diagnostics plugin to v2.1"
Merge "Create a Scheduler client library"
Merge "Add support for select_destinations in Scheduler client"