!hco Make `Content-Length` and `Content-Type` visible but not constructible

This makes the `Content-Length` and `Content-Type` types visible - but not
constructible - outside of Akka HTTP. The change partially reverts #15800.
the http package. The types need to be visible so that Play can access
all parsed headers. However they types are not constructible outside Akka
HTTP because it is not desirable for users to create these headers. Users
should set the Content-Length and Content-Type via the members of the
HttpEntity objects.

Includes integration tests in the io.akka package to ensure that objects
have correct visibility outside akka.http.
Merge pull request #15895 from richdougherty/richd-http-integration-2.3

+hco Make `Content-Length` header public again and add integration tests