Convert ovs-bridge module to python

Vagrant runs were failing on 'ovs br-int'. On the surface it looked like
this call was hanging in ruby. Therefore, I moved this module to python.
Turns out that this was not the root cause, but the work was already
done.

!version-minor
Update ursula to have conditional ssh forwarding

As it turns out, Vagrant is not too happy about automatically using the
ssh forwarding agent, so make this an optional flag for Ursula.

!version-patch
Add ovs-ofctl to the neutron sudoers file

Not sure how this was missed, but this is necessary to make the
neuton-openvswitch-agent work properly.

!version-patch
Merge pull request #519 from craigtracey/ursula-forward

Update ursula to have conditional ssh forwarding
Merge pull request #518 from craigtracey/ovs-bridge-python

Convert ovs-bridge module to python
Add other network tools to neutron sudoers

and alphabetize because why not?
Merge pull request #520 from craigtracey/neutron-sudoers

Add ovs-ofctl to the neutron sudoers file
adding required openstack libraries to requirements.txt

and updated docs
added ursula workstation vagrant machine

so that you can spin up a precise box with all
the bits already set up including copying over your `~/.stackrc`
so that you can run `cd /vagrant; ./test/setup` immediately.
Merge pull request #523 from paulczar/fix/python-reqs

adding required openstack libraries to requirements.txt
neutron: ml2+linuxbridge

wip -- needs testing

remove acceptence test
Neutron Open vSwitch to ML2 + LinuxBridge migration playbook
neutron ml2: move firewall driver so neutron-server does security groups
testenv: upgrade to 3.8 kernel for VXLAN support
tests: configure neutron external interface for ML2 CI runs
testenv: add BlueBox OpenStack PPA for iproute2
nova: use Neutron plugin specific interface driver
neutron migration: update nova config and restart nova-compute
neutron ml2: configure linuxbridge-agent to match ML2
vxlan: use IANA assigned port