Change cache_dir to data_dir

Change-Id: Ic284def6978db78c9be308119ee4eb41fd94e007
Set rabbit_hosts to a list of controllers

Connecting to RabbitMQ via HAProxy results in hung AMQP sessions after
controller failover or VIP move. To work around this problem, OpenStack
services have to be configured to connect directly to RabbitMQ services
on controllers nodes via rabbit_hosts variable, which makes impl_kombu
cycle through the listed hosts when attempting to reconnect. On
controller nodes, preference is given to the local RabbitMQ service on
the same controller node.

AMQP client configuration for all OpenStack components is centralized in
osnailyfacter and propagated through Puppet classes in a consistent
manner.

Following components are excluded in this fix and will require separate
patches:

 * Neutron uses sanitize_neutron_config() function instead of Puppet
   class parameters for configuration

 * Murano has its own RPC implementation that is inconsistent with the
   rest of the OpenStack

ADDITION: Set flush_routes flag for all VIPs in crm
and resource stickiness for prevent unnecessary movements between controllers.

ADDITION: Set rabbit_hosts to a list of controllers for Neutron

Change-Id: Ib839032b2f1aa820b4afc64b0a9badf13414d488
Partial-bug: #1285449