Add support for rabbitmq to listen on the public network

This is a requirement of Trove. The trove-guest-agent, running inside an
instance, needs access to a rabbitmq instance to be able receive messages from
trove-api. As instances don't have access to the "admin" network we need to be
able to open up the rabbitmq configuration to additionally listen on the public
interface.
Allow to create trove configuration

This includes crating a vhost, a user and permissions for that user to the
vhost.
Clarify comment on set_permissions call
Cleanup when trove features are disabled