Removes unused function
Moves to a Exchange2Exchange setup

This should help eliminate a ridiculous amount of queues created for
each page a user loads
Adds multi-application support to example page
Replaces TC-centric E2E implementation in favor of a Fanout exchange
Fixes a double-connect bug in the example page
Rejects requests with invalid exchange names
Rewrites the subscribing logic to make better use of Fanout exchanges

* User's interested in the same routing keys can now share exchanges
* Adds User ID support for easier request tracking
* Broke out callbacks and AMQP workflow into objects for better
  modularity
* Adds exchange name validation so client's can't subscribe to AMQP's
  internal queues
Adds package.json description
Fixes invalid SSE output
Adds the routing key that was bound to the queue that received a message

This allows the client to attach an event listener to the same key that
that are subscribed to.
Adds a CORS header to the SSE response