=pro setup build for coming http work, new akka-http-testkit and akka-http-tests projects
!htc apply various upgrades and improvements

Most importantly
- Switch to implicit FlowMaterializers, refs #15716
- Introduce new `Deferrable` abstraction
- Remove `EnhancedSeq`
!htp port over routing DSL core from spray, other improvements

The most important changes from spray-routing:
- Change Route from `RequestContext => Unit` to `RequestContext => Deferrable[RouteResult]`
- Switch directive extraction model from shapeless HLists to plain Scala Tuples
- Switch API from promoting actors as Route "containers" to being powered by plain executors/flow-materializers
- Make `Directive0` re-execute inner routes per requests, refs spray/spray#780

Other fixes:
- Simplify unmarshalling infrastructure, now based on `Deferrable`, closes #15690
- Change marshalling infrastrucutre to be based on `Deferrable` as well
- Clean up `akka.http` package contents, closes #15689

Changing from HList-based extractions to Tuple-based ones comes with one important drawback:
We can't rely on type bounds anymore to tighten and auto-document the API where generic extractions handled.
Currently we therefore fall back to context bounds where they add value, but this might change if the added overhead or code complexity becomes too much. We'll see when the remaining parts of spray-routing are ported.
+htk Add akka-http-testkit as a port of spray-testkit

Currently the Specs2 support is still missing.
=htp Add akka-http-tests project, tests for already-ported directives

Also move the tests that were previously in the akka-http project here