extend the rabbitmq component to set user, vhost and user_permissions

With this changes it is now possible to manage users, vhosts and userpermissions for the rabbitmq.
Shouldn't `validate_hash()` be called here instead? `$vhosts` should be a hash.