Update custom vars plugin for Ansible 1.7+

With the introduction of Ansbile 1.7, our var plugin broke due to
incompatible changes upstream. Update the plugin so that we can make
use of the new Ansible releases.

!version-patch
Update rabbitmq tasks for ansible 1.7+

In recent versions of Ansible, they no longer support some jinja
patterns in tasks. Specifically, jinja may not *add* arguments to a
module.  Therefore, break each of these tasks into 2 separate cases
handled by the "when" conditional.

!version-patch
logging: Remove logging.conf, use log_dir only
logging: Log to file, OpenStack to local3, ignore

All OpenStack services now log to /var/log/{service}. Log files in these
directories are read by rsyslog and forwarded to Logstash, if forwarding
is enabled. We also ignore local3 writing into /var/log/syslog due to
duplication.
tests:  adding test framework for unit style testing

utilizes pep8 for style of *.py
utilizes ansible in local test mode for testing plays
bootstrap: fix locale command

also added the locale to the testenv pre-deploy.yml,
machines spun up by test was giving locale errors in
shell.

there's a few items in the two that should
be DRYed up a little.
Merge pull request #516 from craigtracey/vars-plugin-update

Update custom vars plugin for Ansible 1.7+
Merge pull request #531 from craigtracey/rabbit-ansible

Update rabbitmq tasks for ansible 1.7+
de-variablize locale
Merge pull request #528 from blueboxgroup/fix/locale

bootstrap: fix locale command
Update requirements

Updating ansible to 1.7.2
Merge pull request #525 from blueboxgroup/logging-refactor

logging: Remove logging.conf, use log_dir only
Massive refactor of Ursula

This change is a massive refactor of Ursula. There are effectively no
logic changes, just a reworking of existing code.  Here are the changes
encompasssed:
- remove host group roles (ie. db, network, compute, controller). All
roles should be reflective of the resources they provide; not the host
group that they serve. Having host group roles leaves us with code that
is not composable when we decide to break services out into other groups.
(note: most of the other changes are due to this modification; hence the
massive size of this change)
- move all service installation (ie. /etc/init/nova-compute) to the role
providing the service.  This is no longer part of the "compute" or
"controller" roles.  This is facilitated by a new library:
upstart_service.
- break roles into control and data plane roles. By doing so we can
direct a playbook run at a particular plane. This is especially useful
for new node additions.
- have control and data plane roles become dependent on any common roles
(ie. nova-data and nova-control are both dependent on nova-common). This
helps keep our code DRY.
- Similarly, because services are installed and started earlier than
they had been, have each openstack role manage its own database
creation. This is now an additional dependent role.
- Add tags to each of the sections within site.yml. Again, this helps us
target specific planes, sections, services, etc.
- Move haproxy to its own common role that is flagged by a parameterized
role. We had duplicate code here and it made a lot of sense to squash
this.
- Fix up Vagrant for testing.

!version-major
neutron: ensure sudo access is configured before starting services
neutron: install plugin config in common role and move linuxbridge-agent to data role
Fix Heat brokenness in refactor

Heat should not be on by default, and the proper argument for
upstart_service is cmd; not command.
tls: crt in local folder, auto trusted

Add the OpenStack services crt and the rsyslog logging cert into the
local directory to be picked up.
Any .crt files in /usr/local/share/ca-certificates are automatically
trusted by update-ca-certificates when run.

Based on man page found at:
http://manpages.ubuntu.com/manpages/precise/man8/update-ca-certificates.8.html
fix: add missing openvswitch template
Remove neutron lbaas from the offering

Neutron LBaaS was integrated with the hope of being able to use it in
a production capacity. Those dreams were not to be. We have moved on to
building out Octavia and that will be our LBaaS of choice. No sense in
keeping this logic around.
Update upstart_service to support start/stop on

It used to be that the upstart_service was being picky about start_on
and stop_on. Make this simpler as some of the neutron services need
explicit ordering. Also support pidfiles.

Reorder site.yml neutron data plane roles.