chef-shell functional tests: wait when no IO available

on slower boxes, the aggro read loop was actually slowing tests down and
making them timeout.