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.
API More control over filter ordering.

Adds ability to add filters during the run-time, as well as fixes the
post-filter order execution to be more intuitive: highest priority goes
last.