Make rabbitmqctl provider to wait for rabbitmq cluster

W/o this fix, then RabbitMQ put in a cluster and managed
by Pacemaker, rabbitmqctl could fail its requests due
to cluster is not ready yet.

The solution is:
1) Introduce a base Rabbitmq_common provider class with wait_online method
and a retry decorator for rabbitmqctl commands to ensure they will retry
instead of fail then cluster is not ready.
3) Derive rabbitmqctl 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>
Looks like another issue have arisen - Service[rabbitmq-server] depends on Rabbitmq_plugin[rabbitmq_management], but this one waits for rabbitmq-server service ready and fails. Will update this request once issue fixed.