Fix compat class

The compat class was relying on the defined() function
to determine if things were in the catalog. This is
parse order dependant and thus a bad idea.

A new version has been written that uses resource
collectors to override the config options that have
been changed.
Clean haproxy class

This commit removes a couple of unused parameters
Fix broken tests on compat
Add keep ip provider network support

This patch adds a new class that can be used
to ensure the keep ip option is set on provider
network ovs ports.
Add provider spec tests
Add multi-region support

This patch adds a new class, 'regions' to the
openstack folder, and two defined types that create
keystone endpoints for an entire region (region_auth)
and for a single service (service_auth).

This class is opinionated, and does not attempt to make
every configuration option available, instead preferring
to create sensibly named resources on the default ports
for all services.
Add ruby 2.0.0 to travis testing

Since we are using 2.0.0 for deployments,
This should be included in the tests.

1.8.7 has been kept since that's still the
rhel 6 default.
Change compat class to use hiera

Hiera sidesteps the parse order issues neatly,
at the cost of making this module a bit less
portable.
Remote compat tests

Hiera calls are a pain to test right now, so let's just
ignore compat
Make haproxy class handle more environments

the haproxy class was assuming rabbitmq and mysql were
present and placing itself before them. This patch modifies
that code to be via resource collections, which can
harmlessly return nothing if either of those resources are
not in the catalog.
Make virtual router ID configurable

If two virtual routers are on the same network, they
must have different ids to prevent conflicts.
Fix keystone endpoint

Keystone needs a /v2.0 suffix on its endpoints. This
patch adds it to both admin and public endpoints