(PE-6036) Add cache-control handler and tests for wrap-add-cache-header

This commit adds a wrap-add-cache-header utility handler function that
adds cache-control headers to GET and PUT requests and tests that make
sure that it doesn't clobber existing headers in responses, handles
nil responses by ignoring them, and only adding headers to get
and put requests.
s/handler function/middleware