QueuePublisher fixes.

* Rename publish method to send_message to avoid overloaded term.
* Extract connection into a method for easier overriding.
* Remove connected? method: allow exceptions to propagate if connection fails.
Add unit tests.