Unify request parameter handling.

Instead of each SAPI having it's own methods to parse request
parameters, `Request` class now has a single unified way to parse them.
This however requires that each subclass of `Request` has to provide
methods to retrieve query string and request body, but this is not bad
thing to have as they could be useful later.

Also provides some improvements in request API, including retrieval of
request body and simpler testing whether the request was POST or GET.