[FIX] possibility of select being interrupted, just restart the call

uses EnvironmentError because not sure if socket.error or os.error
[IMP] style

use break instead of return so cleanup can eventually be put after loop if necessary (?)
Merge branch 'master' of bzr::lp:openobject-server