route based on request PATH, not URI

URI includes the query string dont want that in my routing
Check for error on writing of result
Unify signature of handlers internally

All handlers eventually conform to the following signature:

func (ctx *web.Context, arg1 string, arg2 string, ...) error

handlers passed in from outside are allowed to have the following
variations:

- they may omit the initial *web.Context argument
- they may have as their first return value a string or []byte which
  will be sent back to the client
- they may omit the error return value

All these variations are consoled by wrapping the passed function until
it conforms to the internal signature. This makes invoking the handler
easier.
Organize: all handler wrapping code in handlerf.go