Attempt to consolidate test and ursula

These steps were made to cleanup some of the duplication across
ursula and testing.  Over time I would like most of this code handled
inside ansible modules.  Also, initial steps in possibly breaking
out env/ into it's own repo.

* test/run and bin/ursula now using the same ansible command function.
* added a shared library that can be used between test and ursula.
* moved similar items into the shared libary.
Setup of clustered rabbitmq

* Setup a rabbit cluster on the controllers.
* Configure nova, cinder, and neutron with new rabbit_hosts syntax.
* Configure glance notifier_strategy to noop.  We are not using
  rabbit with glance.
* Add controllers to /etc/hosts on the controllers.  Since we don't
  have internal DNS, this is necessary for rabbit clustering.
* Added 2 additional ports to open in ursula fw security groups,
  necessary for rabbit clustering.
* Configured erlang's epmd (port mapper) to use a known port.  This was
  done, so rabbit clustering would work in the VM env.
Added rabbit_policy module

This module [1] handles the HA policy setting.  Rabbit 3.x requires mirror
queue policies set on the server vs client.  Module has been submitted [2]
to the upstream ansible project.

[1] http://www.rabbitmq.com/blog/2012/11/19/breaking-things-with-rabbitmq-3-0/
[2] https://github.com/ansible/ansible/pull/4957
Allow clustering to be toggled

Currently turned on by default.
Added rabbit integration tests