Allow customizing context with requests

There are times when the ability to pass custom headers comes in handy,
but this was only possible when using .Publish and not .PublishRequest
or .SendRequest.
Adding tests covering customizing context

Two simple tests demonstrating that the added methods are called and are
able to e.g. inject values into message headers.
Merge pull request #236 from davidcie/feature-publish-customizations

Allow customizing {Publish,Send}Request context