Internal: refactor copy headers mechanism to not require a client factory

With #7594 we replaced the static `BaseRestHandler#addUsefulHeaders` by introducing the `RestClientFactory` that can be injected and used to register the relevant headers. To simplify things, we can now register relevant headers through the `RestController` and remove the `RestClientFactory` that was just introduced.
I'd return an Immutable set... it enforce compilation failure when used inappropriately (if the user tries to mutate the set)