Add support for setting extra networking configuration options.

Add support for generically setting arguments for OpenStack Networking
for both the server and agent. This is done using Q_SRV_EXTRA_OPTS for the
server, which let you place settings in the "OVS" or "LINUX_BRIDGE"
sections of the plugin configuration file. For the agent, two variables
are defined: Q_AGENT_EXTRA_AGENT_OPTS lets you set items in the "AGENT"
section of the plugin configuration file, and Q_AGENT_EXTRA_SRV_OPTS
lets you set things in the "OVS" or "LINUX_BRIDGE" sections of the
plugin configuration file.

Implements blueprint devstack-quantum-config.

Change-Id: I9ba44b21231f88cda1bcc5e3389c7875f03d8145
diff --git a/lib/quantum_plugins/openvswitch b/lib/quantum_plugins/openvswitch
index cd29c19..e53db8a 100644
--- a/lib/quantum_plugins/openvswitch
+++ b/lib/quantum_plugins/openvswitch
@@ -42,6 +42,14 @@
     fi
 
     _quantum_ovs_base_configure_firewall_driver
+
+    # Define extra "OVS" configuration options when q-svc is configured by defining
+    # the array ``Q_SRV_EXTRA_OPTS``.
+    # For Example: ``Q_SRV_EXTRA_OPTS=(foo=true bar=2)``
+    for I in "${Q_SRV_EXTRA_OPTS[@]}"; do
+        # Replace the first '=' with ' ' for iniset syntax
+        iniset /$Q_PLUGIN_CONF_FILE OVS ${I/=/ }
+    done
 }
 
 function has_quantum_plugin_security_group() {