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.
This looks racy: handling this case via the bypass will normally complete the stream after having emitted the error response, while this tear-down will finally `onError` the `bypassMerge`. So either these must result in the same thing on the client side (which is probably not true unless `status` is always a 500) or there is a racy condition which decides on the true fate.