=htp groundwork for routing and a first, basic set of directives

This is a first cut extracted from #15609 ready to be reviewed.

It contains 
 - The basic data structures for routing
 - `BasicDirectives` containing helper directives used for building other directives
 - `PathDirectives` + `MethodDirectives`, so that one can build simple demos and as a demonstration of how directives are built
 - A first implementation of `HttpService` on top of streams
 - a new `akka-http-testkit` project containing our testing infrastructure
 - a new `akka-http-tests` project containing tests for the current state + a simple, standalone test application demonstrating routing on top of streams
 - supporting changes in the existing infrastructure

Even in this form it is quite big and much stuff to review so I'm not sure if it is still viable to be included in the 0.6 milestone.

/cc @sirthias 
Especially for implicits it is crucial to follow the types, and this one involves Route, Directive, HList, Function (which are kind-of accessible) and ApplyConverter (which at least is far from familiar), and it is impossible to find out what it does without knowing the concrete instances for the latter since that one also defines the target type for the conversion. What I mean is that this method signature alone requires quite a bit of specialized knowledge to be swapped in in order to consume its meaning. To then understand why the RHS fulfills this type is yet another matter.

So, I’m not saying that this is bad, but we’ll have trouble maintaining it as is.

I remarked on this particular line because it is especially condensed. To aid comprehension and navigation I would like to have a doc comment for every implicit conversion in the library (the rest of Akka does not use them all that often, but the rule should be universal). The comment should explain what the goal and scope of the conversion is, it should make it clear which syntax or DSL element it implements or enables; this also applies to internal DSLs (should these exist).