Added an option to add arbitrary headers to the client requests

The headers are key/value pairs defined in the settings under the `request.headers` namespace.

Also changed test infrastructure's so it'd be possible to define the additional settings for transport clients.
Mocks would only help hopefully trimming the test down and not requiring to throw an exception to properly test things, which is what feels wrong here. They won't help testing it further than this test already does.