Import ParameterDirectives from spray

This builds on top of https://github.com/akka/akka/pull/16091, so you can ignore the first commit.
Yes, true.
But still, users might mix the `Directives` trait into objects that get re-created once per connection or even once per request. By moving things out as we do here we simply reduce the allocation overhead of such usages.