akka-http-core: remaining functionality for M1

This PR contains all the remaining bits for M1 apart from the Java API (#15398) and the docs (#15397).
Once reviewed and merged we should finally be good for M1.

We have slightly reduced the scope of the client API for M1, right now only the lowest API-level is implemented (i.e. individual HTTP connections). We'd suggest to implement client-side connection pooling, redirection following and the like after M1 is released and the low-level bits have stabilized more.

/cc @jrudolph
I wanted to show what the API will look like soon.
When the commented out code is removed it you can't see what the `SetupOutgoingChannel` and `OutgoingChannel` ADTs are all about.

In fact, things would even compile when this snippets are not commented out (i.e. in) but then the `Http` object would describe API that doesn't exist yet. So I thought that the current solution (with the comments) best transports the information about what is supported right now as well as what is coming.