Add public VLAN support.

This patch adds the ability to bring up a VLAN on the seed, undercloud and
overcloud control plane nodes. This feature was sort-of working in the past
but the vconfig based configuration broke provider networks due to layering
under the bridge device rather than over it. In this revised version we use
Neutron to manage and allocate IP addresses on the VLAN, though of course
we found some limitations in Heat when doing this :).

This is not really fully documented yet but is otherwise believed to be
feature complete.

Change-Id: I78c0fa3902c1e480b7ada0055332b14828c3c7f9
Co-Authored-By: Derek Higgins <derekh@redhat.com>
Co-Authored-By: James Polley <jp@jamezpolley.com>
Co-Authored-By: Steve Kowalik <steven@wedontsleep.org>
Closes-Bug: #1325114
Merge "Add public VLAN support."