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)
I wonder if we should make this an abstract class to begin with then we can pull all this up into the base class?