WorkflowClientInterceptor interface is rather limited

Currently WorkflowClientInterceptor only exposes a very limited set of information from WorkflowInvocationHandler to the interceptor implementation i.e. no clientOptions, genericClient references. Which is problematic since WorkflowClientStub does not has any setter to manipulate most of its state, authors of interceptors have to then rely on hacks like reflection to manipulate WorkflowClientStub if needed, instead of creating a new object with their desired changes.

Also workflowType string is rather useless to make decisioning within interceptor & workflowMethodMetadata should rather be exposed to the interceptor.