use node.pexec() to update IP address of intf instead of node.cmd()

intf.updateIP() runs a command in the node that is being evaluated. This exposes it to the condition described in #403. Using node.pexec() in intf.updateIP() avoids this problem because we do not read from the same fd. 

fixes #403