Adapt rabbitmq module for Fuel

* Add dependency modules: garethr-erlang, nanliu-staging
* Add service_provider, key_source, key_content params for rabbitmq
  (https://tickets.puppetlabs.com/browse/MODULES-1407
   https://tickets.puppetlabs.com/browse/MODULES-1408)
* Reuse rabbitmq param package_gpg_key for apt key source as well
  (https://tickets.puppetlabs.com/browse/MODULES-1408)
* Add support for rabbimtq >1.0 <=4.1 for nova module and make it
  backward compatible (otherwise can't be contributed in upstream)
  (TODO contribute the change)
* Fix service_name in rabbitmq::service
  (https://tickets.puppetlabs.com/browse/MODULES-1407)
* Fix ssl_listeners for config_stomp in rabbitmq.config
  (https://tickets.puppetlabs.com/browse/MODULES-1414)
* Adjust other existing rabbit class calls for new 4.1 rabbit module
* Remove deprecated usage of rabbitmq::server class and replace it
  to ::rabbitmq (cinder, murano, openstack, zabbix, mcollective,
  nailgun)
* Move rabbit.pub.key template from rabbitmq to openstack module
  (Fuel uses it for offline installation of rabbitmq)
* Move custom rabbit OCF file from nova to openstack
* Fix linting
* Fix env_config for rabbitmq::nailgun, unify RABBIT_* env args.
* Fix OS-aware service disabling for pacemaker provider case
* Use key_*, package_gpg_key, config_*, cluster_*,
  environment_* params to ensure the same rabbit configuration as
  before and make offline installation possible.
* Add cluster_partition_handling for nova::rabbitmq and
  openstack::controller (TODO contribute the change)
* Adjust debug log_levels for rabbit config as well
* For '$production !~ /docker/' case, remove custom init scripts
  for rabbit as non relevant anymore.

Related blueprint merge-openstack-puppet-modules

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