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)
the rationale here is that by having it as an interface we can have an abstract component implement an action filter... having a base class we could potentially have a composite filter as an abstract component, that delegates to internal non-component filters