Avoid looping select() on sockets repeatedly

When select() would identify a a socket, it would
potentially call select() on the same socket
before a recvfrom() would happen.  In python 2.7,
this caused the IO thread to block other threads
waiting on something the other threads needed to
do.  Resolve by explicitly ignoring a socket
where recvfrom() will be pending until recvfrom()
is next called.  This reduces one test case from
42,000-47,000 select() calls to just 86.

Change-Id: Ic8ebecfc61d048e537b5d76a6a3f0665fd340a3d
Merge "Avoid looping select() on sockets repeatedly"