Add ML2 support

Two new class groups have been added that enable the ml2
folder structure, and include extra classes on compute nodes
that were not previously required. Scenarios should swap over
to these class groups when they are ready.

core_plugin for neutron was previously set by plugin
choice, it is now set to ml2 in user.common.yaml. To use
the deprecated plugins this will need to be overridden
manually by the user. Mechanisms are set by plugin choice,
but there is currently only support for a single mechanism
at a time.

This patch focuses solely on gre support. VXLAN and others can
be added in future patches.

The service_plugins format has been changed to a curated list of
strings, and has been reduced to only include the router plugin
while support for other plugins is tested.

Change-Id: I258074d70bf136ac4d8eaf08abc06e8676db3829