API Allow pre-filters to override the framework response

Previously, only throwing an Exception was possible. This change will
allow us to do pre-request caching, rate-limiting, 304 Not Modified
responses etc.

Also fixes the post-filter order execution to be more intuitive: highest
priority goes last.
API More control over filter ordering.

Adds ability to add filters during the run-time.