Change the response body streaming fun interface

Before we were required to get the socket and transport ourselves,
now they're passed to the function.
Remove cowboy_req:transport/1

It was added to help with response body streaming functions.
But it was a clumsy solution that we discarded in favor of
passing socket and transport to said function. It was also
very odd compared to the rest of the cowboy_req interface.

If you used this function before, worry not, here's its
proper equivalent.

[Socket, Transport] = cowboy_req:get([socket, transport], Req)
Fix a small warning in eunit_SUITE
Add cowboy_req:set_resp_body_fun/2

This allows streaming a body without knowing the length in advance.
Also allows {stream, StreamFun} response body in the REST code.