When available, use epoll for idle CCB sockets.

CCB may manage a huge number of sockets - many more than
what is considered possible to maintain inside DaemonCore (as
DC is currently based on select() and may have other overhead).

The current approach is to periodically poll each socket, one
at a time.  This approach remains on platforms without epoll,
but may occur up to a 20 second wait for a response on busy
CCB instances.

Now, epoll is used on supported platforms; this allows CCB to
be more responsive when targets send responses.  The epoll FD
is managed by DC; when it fires, we call epoll directly to drain
as many sockets as possible.
Close epoll FD on cleanup.
Improve the logic of readReady.
Improve performance of single-fd use of the Selector class.
Bugfixes for use of epoll / poll on Linux. #0
Still call PollSockets so we sweep reconnect info when in epoll mode. #4453
Merge branch 'master' into ccb_epoll. #4453

Conflicts:
	build/cmake/CondorConfigure.cmake
Fix constant not defined on RHEL5. #4453
Stub out poll for windows.  #4453
Tune cmake defines for poll to work on Solaris. #3813
Merge branch 'master' into ccb_epoll
Allow single-shot mode to include multiple events. #4453