Make watch command handle multiple targets.

Also adds in the notion of a MultiTargetCommand where the loop
control has to be handled by the command itself, and not Command.