Latest version of Java HTTP model

This is the follow up to spray/akka#1.

This PR contains the commits from #15391 because it builds on them. Please just ignore those for now.

/cc @sirthias 
I'm fine with the `J2SMapping` name. The real thing that is used is the `JavaMapping` and this is more internal.