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
Does it really change something?
But I agree, `done()` is better.