Extended ActionFilter to also enable filtering the response side

Enables filtering the actions on both sides - request and response. Also added a base class for filter implementations (cleans up filters that only need to filter one side)
in general I think this method should be called `apply` rather than `process`?