fixed mako rendering, added template lookup
Adding a routemap to a Route returns a copy

This is done to allow reusing the same Route object
in multiple places in the routemap - without returning a
copy traversing the routemap would never finish.
added support for custom httpexception views

routes have httpexception_handler attribute which is a
map of HTTPException types to components that would handle the request
if such an exception occurred (for example a login view for a 403
error).
bricks, Route hacked to support exception rendering

Routes now have an optional argument called httpexception_handlers
which is a map from an HTTPException type to a component that will
handle it if it occurs at that route.

create_app must manually load handlers for each route.

routes are no longer added to MainComponent dependencies, only
the root, the rest are loaded manually by create_app.

✗untested
✗non-ideal implementation

please review
removed adding exception handlers to Route dependencies
route and exception handler loading refactored

routes and httpexception handlers were being loaded
by create_app. This was moved to Route, route puts these
things in its own depdends_on and they get loaded automatically.