!hco #15635 reorganize registration of predefined, custom HTTP primitives

 - No more global registration
 - In most cases registration isn't necessary at all
 - Creation of custom HttpMethod and StatusCode is possible through
   a configuration setting in ParserSettings

Fixes #15635.
=hco don't reject headers that refer to charsets or methods not available on the current platform
!htc Replace `Deferrable` with `FastFuture`
!htp,htk Upgrade from `Deferrable` to new `FastFuture`, closes #15962
Merge pull request #15967 from spray/w/15635-http-remove-all-global-state

!hco #15635 reorganize registration of predefined, custom HTTP primitives + other small improvements
+hco #15498: Transparent HEAD support

 - don't close on HEAD request when sending CloseDelimited
Merge pull request #15940 from drewhk/wip-15498-dont-close-after-head-closedelimited-drewhk

Implement transparent HEAD support
!htc Remove obsolete ProtectedHeaderCreation construct
!htc Tighten up header model some more, update spec links
=htc Improve handling of `Transfer-Encoding` header, closes #15490
Merge pull request #15969 from spray/wip-15490-mathias

Improve handling of `Transfer-Encoding` header
Merge pull request #15975 from spray/wip-15962-mathias

 Remove `Deferrable[T]` and replace with POF (plain old Future)
+hco #15945 Make Tcp and Http server binding closeable
Merge pull request #15983 from akka/wip-15945-unbind-tcp-and-http-connection-ban

+hco #15945 Make Tcp and Http server binding closeable
+str #15904 Ported Tcp IO to new Stream DSL
Updates according to review
Changed to a Source/Sink based solution