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

Fixes #15635.

@richdougherty can you check if that would work for you?
If we add a `require` in `HttpMethod.custom` it should be impossible to construct `HttpMethod` instances with names that are longer than the limit, no?
I'd say that making the limit configurable only makes sense, if there really is a use case for it.
And since it would complicate the API of `HttpMethod.custom` (with somehow getting the configuration in) I'd vote for simply setting a large enough (but still aggressive) hard limit.