MarshallingDirectives, FormFieldDirectives, and more

It may not readily show but this PR has been keeping me busy for far too long.
Due to numerous interdependencies it addresses 3 tickets at the same time: #15927, #15923 and #16190.

I'm glad to finally get this beast of my table! :)
Should be marked `private[http]`. Will do.