Refactor classes to only have a single entry point class, to validate
params, and add rabbitmq::management.

These changes combined make sure that class parameters can only be set
on the main rabbitmq class and not overridden on subclasses.  As a
consequence of this we need to properly validate the parameters passed
in.

Rabbitmq::management is the post ::service class for providers that
require the service to be up.