!hco #15635 reorganize registration of predefined, custom HTTP primitives + other small improvements

Fixes #15635.

@richdougherty can you check if that would work for you?
I'm somewhat undecided about the validation. You could still use longer method names on the client even if we restrict the parser to stop parsing at some length.

Should we make this limit configurable? That way we'd have a place we could point to in the exception to change the setting.