Watch for the completion of long running tasks 2

The watcher was attempting to renew the message lock even though the message handler had completed since the _completed flag was never set. Doing this with a continuation instead of a wrapping task due to problems casting Task back to Task<T> for Request/Response handlers.