Applies neutron-conductor service on OpenStack Havana

The current bottleneck in Neutron is the part when a neutron agent
requests "security_group_rules_for_devices" to the server
in order to update its port's SG rules.
This operation takes an average 24 secs according to our observation and
it is also the main cause of some VMs not able to receive DHCP responses
in severe conditions.

To enhance the throughput performance of VM provisioning with Neutron,
we have created a neutron-conductor service which currently only handles
"security_group_rules_for_devices" requests. Results show that
applying the conductor service enhances VM provisioning throughput up to 400%.

== Test Environment ==
Tested on CentOS 6.4 with ML2 plugin with OVS driver.
Linux devstack-centos64 2.6.32-358.123.2.openstack.el6.x86_64
4 CPU cores
8G memory
https://gist.github.com/zyluo/9522619

== The localrc file used for testing ==
https://gist.github.com/zyluo/9503014
(Edit the passwords according to your settings)

*IMPORTANT*
If you have your own localrc file, be sure you have "enable_service neutron"
added into it. Also note that the conductor service has only been tested
with the ML2 plugin with the OVS driver.

== Stress test script ==
https://gist.github.com/zyluo/9522329
(Edit the admin password according to your settings)

== Verification scipt ==
DHCP_UUID=$(ip netns | grep dhcp | cut -c7-)
IP_CNT=$(cat /opt/stack/data/neutron/dhcp/$DHCP_UUID/host | wc -l)
VM_CNT=$(nova list | grep ACTIVE | awk '{print $12}' | sort | wc -l)
if [[ $IP_CNT -eq $(($VM_CNT+1)) ]]; then echo "OK"; else echo "FAIL"; fi

(There is one additional IP count compared to the VM count which is the
gateway IP.)

== Cleanup script ==
nova list | grep ACTIVE | awk '{print $2}' | xargs -l nova delete

== Neutron conductor branch ==
(This branch will be automatically pulled to /opt/stack/neutron)
https://github.com/zyluo/neutron/tree/havana_conductor_sg_only