Creates a HTTPServerResponse suitable for writing unit tests.
Optional output stream that captures the data that gets written to the response
Optional session store to use when sessions are involved
If set to TestHTTPResponseMode.bodyOnly, only the body contents get written to data_sink. Otherwise the raw response including the HTTP header is written.