Optimize request and response header handling in Spring MVC

ServletServetHttpRequest and ServletServerHttpResponse use HttpHeaders, on the request side copying headers from the Servlet request into it, and on the response side merging headers into the Servlet response.

This creates overhead, which we avoid on the WebFlux side via server specific, MultiValueMap header adapters that operate directly on the headers of the underlying server API.

We can derive a similar result through Servlet request and response header adapters.