!htc #15716: Akka HTTP with the new DSL

/cc @jrudolph @sirthias 

TODO:
 - [X] Port http-core
 - [x] Port rest of http
 - ~~Port to the new IO abstraction~~
 - [x] get rid of unnecessary materializer parameters
Shouldn’t this be solvable with Java’s variance annotations? I.e. everything that takes a `Publisher[T]` is declared instead to take a `Source<? extends T>` and a `Subscriber[T]` turns into `Sink<? super T>`. If there really is a need for casts then I think we have a real problem (assuming that the Java DSL is purely for Java and can therefore be coded in plain Java style).