REST api: made it possible to copy the REST headers over from REST requests to the corresponding TransportRequest(s)

Introduced the use of the `FilterClient` in all of the REST actions, which delegates all of the operations to the internal `Client`, but makes sure that the headers are properly copied if needed from REST requests to `TransportRequest`(s) when it comes to executing them.  Added new abstract handleRequest method to `BaseRestHandler` with additional `Client` argument and made private the client instance member (was protected before) to force the use of the client received as argument.  The list of headers to be copied over is by default empty but can be extended via plugins.

Replaces #6464 as it provides a better and safer way to copy headers from REST layer to transport layer.