!htp #16162 Upgrade server- and client-side HTTP APIs to "final style"

This PR clears #16162.
It currently builds on #16383, so ignore Björn's commit in your review.

As a temporary measure I have added a stub TCP API as described by #16166. This `TempTcp` stuff will go away when #16166 is cleared.
I am more confused by the existence of this method than by the joining operation. As a user, how would I decide if this is passive or not? What does passivity mean here?

Also, joining is available for other libraries that gives back Flows, it is better to learn how to use join since it translates to all possible Flows, while this solution is particular to this IO API.