Adds RDP console support

Implements: blueprint hyper-v-rdp-console

Nova currently supports VNC and SPICE remote console protocols. This
commit adds support for the RDP protocol in a similar way.

Change-Id: I2c219d4a200122c6d6cfcbd8e074dca0f6fea598
Hyper-V driver RDP console access support

Implements: blueprint hyper-v-rdp-console

Hyper-V uses RDP to provide graphical console access, unlike most other
hypervisors which use VNC for this purpose.

This patch implements get_rdp_console in the Hyper-V driver.

Change-Id: I92e6c4921ff42c1bac2c76dfa1570160a0d11338
Adds get_console_connect_info API

Implements: blueprint hyper-v-rdp-console

Currently graphical console access to Nova instances is limited to
clients which are part of Nova itself (novnc, xvpvnc, spice-html5).
The mentioned clients verify the validity of a console access token
with the following private API:
nova.consoleauth.rpcapi.ConsoleAuthAPI.check_token

The usage of a private API precludes the possibility of employing
external graphical console clients, including FreeRDP-WebConnect, used
to connect to Hyper-V instances via RDP.

This change adds a public API method that wraps the aforementioned
check_token private API. This allows external clients to obtain the
necessary protocol connection information by providing a token
previously obtained with calls to get_vnc_console, get_spice_console
or get_rdp_console.

Includes V2 and V3 API implementations.

Change-Id: Idd1e4f57b16bd1488f3b72bb064cef51321a7c79