Permit using different libvirt hypervisors.

Folk will want to deploy lxc/qemu etc overclouds. The libvirt type
needs to be controllable for this, independent of software
installation.

Change-Id: I29e5fea72f9cb983576410baa8f50ab060c08fe3
Remove deprecated and unused nova setting.

Change-Id: I01a7c0b5faac0338594988b2e69981aad215cb33
Remove in-instance network policy configuration.

Network policy should be driven by API clients rather than in-instance
scripts, as using Heat to proxy the handover just adds an unnecessary
layer of indirection. We need to keep the logic for configuring ovs
within instances, just not the neutron net-create etc.

Change-Id: Iaee70ef5c9d1ff2a608e4ea64e766920bfba7f42
Setup ovs bridges before we start services.

The ovs bridges need to be setup before we start any neutron services
that depend on them. The right way to do that is to set them up during
configure, and start services in post-configure.

Change-Id: I316e0d4a9e71479ea2e9ae338d243b4cec5391b8
Move the metadata NAT rule to nova-baremetal.

It was part of the openvswitch agent rules, which is entirely
inappropriate for overclouds.

Change-Id: I43faa086f5625434f9abdea68a3bb88413688d4c
Set a bridge id for external bridges.

Unlike br-int we were not setting a bridge-id. I'm not sure if it's
needed, but it is consistent to add one, and will allow consolidating
other code which currently differs only by setting such an id.

Change-Id: I0e5ada816948cc7fd3a5fe7b5b92b7bb89ebaf5a
Update network configuration for overclouds.

The overcloud network configuration was not migrating ip addresses and
ports onto the exterior integration bridge. This is fine when the
bridge is not the default route, and/or is on a different interface,
but behaves very poorly when only a single interface is present. Since
we don't use br-ex in undercloud setups (today), and don't use
br-ctlplane in overcloud setups, we can use the same code for
migrating address and routes by updating our configuration instead.

Change-Id: I85a455bd2b03089bf39c34a3b69af78af09ce286
Install kpartx for nova-kvm.

Nova invokes kpartx directly to do file injection (ugh), so we need it
installed on the nova-kvm compute hosts.

Fixes bug: 1211170

Change-Id: I67f677f91df5f4340ceaa14efde1945e7d4218f6