Allows configuration of Event Source to be made at the middleware level

This means that end-users are required to explicitly configure the
AMQP/EventSource connection on their end instead of relying on ENV vars.
Removes ES::AMQP anonymous functions and adds Log Subscriber
Swaps the position of resolving deferrers and firing events. Events win.
Removes anonymous EventStream functions and adds a Log Subscriber
Removes anonymous Subscriber functions
Adds custom Logger to Subscriber

This provides an interface for the Log Subscribers
Removes an unnecessary anonymous function
Reduces the public API for ES::AMQP
Refactors the Gruntfile to make it a bit more readable
Refactors the Subscriber and cleans up the Middleware bootstrapping

* Adds a consolidated and reusable Logger module for dealing with
  prefixes, etc

* Automatically opens an AMQP connection on boot-up as opposed to
  waiting for the first request

* Cleans up the AMQP connection logic by checking for state constants
  and using a single deferred object.

* Refactors Subscriber validation workflow

* Extracts Subscriber bindings into a separate module
Adds a default Logger instance to the base LogSubscriber
Renames Subscriber to Client

Because there were way to many “subscriber” nouns floating around.
Refactorings to Client

* Removes some unnecessary public methods from Client

* Simplifies the public API and leans more on events

* Adds a #close function to EventStream to consolidate HTTP output
Fixes some of the confusing log output when connecting to AMQP
Adds LogSubscriber to Client
Fixes discrepancy in naming within the EventStream Log Subscriber
Moves random client identifier generation to Client
Reduces the public API of ES::AMQP
Refactors the TCP connection log subscribers
Adds a warning to the README