xenapi - quantum: L2 agents for dom0 and domU

This patch makes it easier to support the all-in-one installation of
XenServer with Quantum:
- separate agents for domU and dom0 openvswitches. The domU agent's name
  is "q-domua", and the dom0 agent is called "q-agt"
- create a physnet1 physical network to connect those openvswitches

Note: This patch depends on the quantum patch:

    https://review.openstack.org/15022

For a diagram, see:
    http://goo.gl/BuAdg

Change-Id: Iff851438553528b9051edd380ecbb2c0415cbf78
Install nodejs for RHEL/Fedora

nodejs is required for Horizon (ships a copy of lessc internally).  I
couldn't find nodejs in the rpm list, despite it being installed in
lib/horizon.  This adds to the rpm list as NOPRIME and retains the old
install point.

RHEL6 has nodejs in EPEL now, so we remove the old hack that installed
an upstream version and add it to the install mentioned previously

Change-Id: Ib3ee2f7d77e22666c9055c8528288c01b46a95d3
Functions are required to parse localrc

This is essentially a revert of
73695d0ea490c4c7a1158957dd5a85586cfa0933. Since stackrc is
responsible for sourcing localrc, the required functions
are necessary (like for enable_service).

fixes bug 1186488

Change-Id: Iad90f802e77b94416821008c294c1a2ede8a4729
Merge "xenapi - quantum: L2 agents for dom0 and domU"
Merge "Install nodejs for RHEL/Fedora"
xenapi: kernel_cmdline moved out from template

The kernel's cmdline was set during the initial devstack machine
installation. Thus, during second runs, the kernel's cmdline was not
updated. This patch extracts append_kernel_cmdline, and configures
domU's kernel cmdline every time. As some networking parameters are
passed through the kernel cmdline, this patch makes it possible to
change the network configuration, even if a cached devstack exists.

Related to blueprint xenapi-devstack-cleanup

Change-Id: I3b7175f4e83326c3e28825ac50625f6bd2a9a029
Make dependency on libvirt dynamic

Fixes bug 1184960

Change-Id: If702807d9ae326bf216a2e076ce61062045d7c6b