Additional response handling

allows extra chances for code to get a last chance at playing with the response before it is served. for example, aggressive cache control.