Add server-side support for `Expect: 100-continue`, other improvements

This PR improves a number of things in akka-http-core and adds server-side support for `Expect: 100-continue` (#15799).

The client-side support depends on #16336 and is therefore postponed for the time being.
> We set terminated = true after having parsed the end of a request, which might be well before the last thing is being consumed in onPull.

Ok, I see, that is perfectly fine.

> If I want to get rid of the terminated flag I'd have to call absorbTermination at the time I currently set terminated = true, which is not within an onUpstreamXXX call.

If not in an onUpstreamXXX then there is no point in absorbTermination (nothing to absorb), you can only that is why it is not possible. You can call ctxt.finish but that is exactly what you do after emitting and seeing a terminated = true. So everything is fine :)