=str #15737 hookup map* combinators
Merge pull request #15847 from 2m/wip-map-future-concat-hookup

=str #15737 hookup map* combinators
=str FutureSink must not be singleton

* and more careful use of  Source / Sink in Maps
=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
Merge pull request #15866 from akka/wip-FutureSink-patriknw

=str FutureSink must not be singleton
Merge pull request #15718 from spray/w/setup-akka-http-routing

=htp groundwork for routing and a first, basic set of directives
+str #15762: Implement merge and broadcast