Send watch notification when a task doesn't exist

This involved fixing request/response pairing in general because
SendSyntheticValueChanged can result in multiple kinds of response,
which we didn't have a way to handle in the existing code.

Sure, don't alter the current PR for other things, agreed.  My thoughts are that there should be no guess-work as to what responses come back from a given request.