Add initial TDD'ed proxy.
Move prototype untested code to app.
Extract http stubs to their own package.
Add AbortableResponseWriter wrapper class.

This allows someone to prevent certain http status codes to be passed
to a destination ResponseWriter, so further handling can occur.
Add StatusRewritingResponseWriter.
StatusRewritingResponseWriter is ResponseWriter
Retrieve login page when app says unauthorized.