Make provider to wait for rabbitmq cluster

W/o this fix, then RabbitMQ put in a cluster and managed
by Pacemaker, rabbitmqctl/rabbitmqadmin can fail their
requests due to cluster is not ready yet.

The solution is:
1) introduce rabbitmq_common module with a common functions
for rabbitmq providers, the first one is wait_for_rabbitmq. 
2) Add an abstract provider rabbitmq_wait containing wait_for_rabbitmq
as a class methods for providers to ensure rabbitmqctl or
rabbitmq_admin call will retry instead of fail then cluster is not ready.
3) Derive rabbitmq provider classes from the former one to make
them able to wait for RabbitMQ reasy as well.
4) Update rspecs

Co-authors: Dmitry Ilyin <dilyin@mirantis.com>
Closes-bug: #MODULES-1452

Signed-off-by: Bogdan Dobrelya <bdobrelia@mirantis.com>
An abstract class to be used as an ancestor for RabbitMQ providers