Fix shell bug causing CPU 100%

The SSH sessions loop is trying to IO.select and wait for 0.1 seconds,
but the select is often never reached because it only enters if
readers/writers exist. So the loop executes unchecked at 100% when
waiting for commands. Now we will sleep for 0.1 seconds if we have
no waiting IO.
Merge pull request #332 from jpfuentes2/fix_overzealous_shell_loop

Fix shell bug causing CPU 100%