Reorganized consumer transports and made configurable via the Rack app.

* Promoted the consumer to be public so that its configurable via the Rack app.
* Moved the Rack::Consumer transports into separate files to reduce LOC and deal with a "private" keyword scope issue.
* Added tests for transport configuration.