WHAT: Add a toString() to Route.java
WHAT: Fairly major refactoring to how RpcServer handles connections
WHY: Simplify closing connections in the event of failure
WHAT: Major refactor to how MessageWorkers are used in Roger (see new MessagingManager class).
WHY: Have workers use a shared connection (like in RpcServer).
WHAT: Rename connection methods in RabbitConnector.java
WHY: To mimic those in ConnectionFactory
WHAT: Add unit test for Events