RequestFilter adjustments

Make the API more useful by allowing to override the response in pre-request filter so we can build rate-limiting, caching, 304 responses and so on.

Just return non-true from the pre-request handler, and the framework will try to parse it as a response value. Return SS_HTTPResponse to get that delivered to the user.

Needs some more testing - I've only checked against https://github.com/mateusz/controllerpolicy
On the parameter ordering, if I do as you are suggesting, then the postRequest and preRequest will have mismatched order - one will have session last, second one will have session last-but-one. See the proposed interface:

```php
public function preRequest(SS_HTTPRequest $req, Session $session, DataModel $model);
public function postShorted(SS_HTTPRequest $req, SS_HTTPResponse &$earlyRes, Session $session, DataModel $model);
public function postRequest(SS_HTTPRequest $req, SS_HTTPResponse &$res, Session $session, DataModel $model);
```