Adapt rabbitmq module for Fuel

* Add dependency modules: garethr-erlang, nanliu-staging
* Add support for rabbimtq >1.0 <=4.1 for nova module and make it
  backward compatible (otherwise can't be contributed in upstream)
  (https://bugs.launchpad.net/puppet-nova/+bug/1386309)
* 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 and remove
  OS-aware services disable from rabbit's manifests
* Make pacemaker provider HA wrapper for rabbitmq service and move
  it to pacemaker_wrappers::rabbitmq
  (TODO move to extras and contribute the change)
* Fix linting
* Fix rabbitmq service name for zabbix mon
* Fix env_config for rabbitmq::nailgun, unify RABBIT_* env args.
* Use key_content, 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
  (https://bugs.launchpad.net/puppet-nova/+bug/1386309)
* Del unused rabbitmq_node_ip_address and rename as node_ip_address
* Del unneeded rabbit_cluster due to it is being evaluated via
  passed rabbitmq_cluster_nodes as well
* 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
Related-bug: #1377491

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