Adapt rabbitmq module for Fuel

* Add dependency modules: garethr-erlang, nanliu-staging
* Add service_provider, apt_key_source param for rabbitmq class
* Add apt_key_source to nova::rabbitmq as well
* Move custom rabbit.pub.key from rabbit to openstack
  (we use it for offline installation of rabbitmq)
* Move custom rabbit OCF file from nova to openstack
* Make rabbit class calls to be backward compatible
  for nova module (otherwise can't be contributed in upstream)
* Adjust other existing rabbit class calls for new 4.1 rabbit module
* Remove deprecated usage of rabbitmq::server class to ::rabbitmq
  (nova, cinder, murano, openstack, zabbix, mcollective, mailgun)
* Fix linting
* Fix env_config for rabbitmq::nailgun, unify RABBIT_* args.
* Fix OS-aware service disabling for pacemaker provider case
* Use apt_key_source, config_*, cluster_*, environment_*
  params to ensure the same rabbit configs as before.
* Add cluster_partition_handling for nova::rabbitmq and
  openstack::controller
* Adjust debug log_levels for rabbit config as well
* Move prod logic and custom init scripts for rabbit to nailgun module
* Remove rspecs for custom init scripts for rabbit module as obsoleted

Related blueprint merge-openstack-puppet-modules

Change-Id: I6e631b975c5835d2d6f1984d5a070a45231fe9ab
Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>