Add SoapAdapter request context per instance.

SoapStubAdapter supports adding soap headers using GetRequestContext, but
the request context is thread-local. Adding support for a per-instance request context.
This is needed e.g. for vSphere SMS API, where only the SMS SoapAdapter needs
the additional headers.