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 
`private[http]` and INTERNAL API marker?