console: make unsupported ws scheme in python < 2.7.4

Due to a bug in python < 2.7.4, urlparse won't parse a query string
in a URL where the scheme is not recognized:

http://bugs.python.org/issue9374

Commit 1dda5ef75a5c141c316639716820b0c37773a9e3 added some tests for
websocketproxy that uses urlparse to get a token but these don't work
on python < 2.7.4 since the scheme in the tests is "ws://".

In the actual code, raise an exception if python < 2.7.4 and an
unsupported URL scheme is used.

DocImpact: The "getting-started-with-vnc-proxy" page in the
"admin-guide-cloud" docs should be updated with a note that the web
proxy console URLs do not support the websocket protocol scheme (ws://)
on python versions less than 2.7.4.

Change-Id: Ib6e0fc4e50c1ea144a9c538099e23597d66b429b
Closes-Bug: #1376078
Support message queue clusters in inter-cell communication

Since cells use oslo.messaging to specify and store the message queue URL,
multiple hosts can be specified by manually modifying that URL in the database.
However, there is no way to specify multiple hosts during cell creation phase.
This patch adds a --broker_hosts option to `nova-manage cell create` command,
which is analogous to the rabbit_hosts option in nova.conf and can be used to
specify multiple message queue servers as a comma separated list. Each server
is specified using hostname:port with both being mandatory. The existing
--hostname and --port options continue to remain but are only considered if no
--broker_hosts is specified.
Internally, each host is converted to a oslo.messaging.TransportHost
and added to the generated TransportURL.
This patch also adds unit tests for creation of the TransportHosts from
user given input.

Change-Id: I14de860b1d12f3e2c0169b58651d580792d6ce0e
Closes-Bug: 1178541
Remove baremetal virt driver

This patch removes the baremetal virt driver from nova, which was
deprecated in Juno. It does not aim to perform any of the refactoring
we need to do now that the driver is gone, but is intended as a clean
removal of all the baremetal code itself.

Of specific note are the api_samples tests. We didn't have samples to
test the ironic proxy code, so I removed the baremetal ones for show
and index, resetting that extension back to "untested" status as if it
was new.

Tests that stub out ironic interactions and re-introduce those tests
should be added after this patch.

Change-Id: Ia76e41a8a3b7230701872ae7a1975edc3d9ea847
Merge "Support message queue clusters in inter-cell communication"
Merge "console: make unsupported ws scheme in python < 2.7.4"
Merge "Remove baremetal virt driver"