Remove code smells from router

* No need to throw here
* Do not make env => @env, pass it around instead
* no need to do (un)supported? twice
* boolean methods should not be negative unsupported? => !supported?
* @app.call is more recognizable than propagate_request