Import ParameterDirectives from spray

This builds on top of https://github.com/akka/akka/pull/16091, so you can ignore the first commit.
Yes, poly-functions in Scala really are cool!
All the credit has to go to @milessabin though, who first made it available as part of shapeless.
All I did was to implement a very stripped down version, just for our limited purpose here.
Which reminds me to add a comment with credits to miles. Will do so now...