A recursive watch that hit the watch limit or an unreadable directory
threw after adding watches for part of the tree, which stayed in the
instance and kept counting against the user's limit. The call now
leaves the instance as it found it.
The test needs a second instance for the check, because a repeated
watch on the same instance only updates the existing one.