=str #15743 tests for prepend and append

* these have no AST nodes, they work with AST List directly
=str Sugar to make flows between vertices optional
Merge pull request #15846 from 2m/wip-{ap,pre}pend-tests

=str #15743 tests for prepend and append
=str #15737 hookup map* combinators
=pro #15849 fix scala-graph dependency for building for Scala 2.11
=pro use idiomatic sbt for including post-scala-2.10 dependencies

This re-enables using `++ 2.11.2` in sbt for quick changing of Scala versions.
=pro upgrade macro paradise dependency to 2.0.1 (to allow building for Scala 2.11.2)
=str #15844 Use key labeled edges to support multiple edges between same vertices
Merge pull request #15855 from akka/wip-15844-key-label-edge-patriknw

=str #15844 Use key labeled edges to support multiple edges between same vertices
Merge pull request #15854 from akka/wip-flow-optional-edges-patriknw

=str Sugar to make flows between vertices optional
Merge pull request #15850 from spray/w/15849-fix-dependencies

Small build fixes to fix building for Scala 2.11.2
=str Make it possible to use graph cycles

* power user mode

* Dropping buffer in feedback loop
Merge pull request #15856 from akka/wip-graph-cycle-patriknw

=str Make it possible to use graph cycles
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