!str #15236 Replace Transformer with Stage

* replace all existing Transformer with Stage (PushPullStage)
* use Flow[ByteString, ByteString] as encoder/decoder transformer in http
* use the IteratorInterpreter for strict if possible
* emit then become
* emit then finish
* termination emits
* FlowTransformerSpec
* rework types to work with Java API
* rename and move things
* add scaladoc
Merge pull request #16287 from akka/wip-15236-transformer-patriknw

!str #15236 new transformer
+htc apply smaller extensions and simplifications
!htp #16190 refactor and improve marshalling infrastructure, get rid of `Marshallers` abstraction altogether

Also improve Unmarshalling infrastructure once more.
!htk rename `RouteTest::entity` to `RouteTest::responseEntity`, smaller test cleanups

Also upgrade to latest (un)marshalling changes.
!htp #15927 port `MarshallingDirectives` from spray
!htp #15923 port `FormFieldDirectives` from spray
Merge pull request #16292 from spray/wip-15923-mathias

MarshallingDirectives, FormFieldDirectives, and more
=pro simplify `akka.genjavadoc.enabled` option parsing
add http-java projects
current Java API proposal
simple-server-app-testcase
java-jackson-support
pet-store-test-case
create test project for compiling / running Java 8 tests (if JDK is available)
java8-SimpleServerApp
http-java-testkit
directive-tests