Client: improve intermediate response handling
- Use two classes
ClientObservableCommandInstance(Generic[ResultType])andClientObservableCommandInstanceWithIntermediateResponses(Generic[IntermediateType, ResultType])instead of raisingNoIntermediateResponsesifIntermediateTypeisNone - Use same API as with observable properties:
instance.intermediate_responses.get()andinstance.intermediate_responses.subscribe()