RabbitMQ load-balancing support

Currently, clients (OpenStack components), use several hosts to connect to RabbitMQ broker and if one fails, the client switch to another one.
This could be improved by adding RabbitMQ hosts in a HAproxy pool and use load-balancing (since queues are mirrored).

That would improve performances since we will load-balance RPC messages and also reliability when a failover occurs, since HAproxy will detect the failure and exclude the node of the pool while the downtime.

2 patches:
* loadbalancer: implement rabbitmq binding
    Implement RabbitMQ binding with these options:
    - disabled by default for backward compatibility
    - '5672' is the port by default
    - mode TCP with roundrobin balance
* messaging: support HAproxy binding
    As an option and disabled by default for backward compatibility, allow
    to export a puppet resource to create HAproxy binding for RabbitMQ
    service

Close #400
you should use `$rabbitmq_port` here, as in cloud::loadbalancer