Transport: copied over REST headers from RestRequest to TransportRequest

 Made sure that the REST headers are copied over from the RestRequests to the related TransportRequest.

 Introduced new base class called for all the REST actions that map to a single TransportRequest (most of them). Split the existing handleRequest method in two phases: 1) request creation 2) request execution . In between we can automatically copy the headers to the transport request in the base class.

 Also added a utility method to copy the headers in BaseRestHandler, to be used by all the actions that don't extend the newly introduced `BaseActionRequestRestHandler` (e.g. cat api as each request maps to multiple transport requests).

 To make this refactoring easier the following changes have been made as well:
 1) split benchmark actions into different RestAction classes (submit, abort, status)
 2) modified the actions that were doing some validation during transport request creation to throw ActionRequestValidationException instead of sending the error through the channel straightaway