A bunch of cleanup prior to cookie changes.

Mostly just not worrying so much about splitting things up, deleting old
methods that are no longer needed, etc. The render_erlang_cookie change is
actually in the next commit but I couldn't split the diff any more.
Finally render the Erlang cookie correctly.

The steps for changing the Erlang cookie on an already-running RabbitMQ node
are to stop the entire Erlang node, change the cookie, start the Erlang node
(and RabbitMQ by extension), and then reset RabbitMQ data using rabbitmqctl.

This also makes sure to check if the cookie has changed, lest we stop/start
RabbitMQ every time.
Verify the cookie string value is not nil
[1.4.0] Fix Erlang cookie rendering behavior (#26)
Merge branch 'master' into take-2
Create a new RabbitMQ API client every action on every resource