Why have two identical ifdefs? This had been fixed in the past, but it regressed!
Scan for policy change right after the select() call returns.

The way we did it before, it was almost certain that at the point of
checking there would always be one active thread (the one serving the
incoming connection) so CheckFileChanges() would not run. Only exception
would have been when select() returned because of timeout, which would
never happen in a slightly loaded hub.
Moved code around for clarity.

Mostly whitespace changes.
Fixed 100% CPU burning loop if listening socket descriptor is -1

There is a feature in enterprise ("listen" attribute) that disables
listening to any port. In that case the while loop would never
stop. Fixed it so that it goes through the select() call.

Mostly whitespace changes.
CLOEXEC must be called even when NO_FORK.
Merge pull request #1665 from jimis/server_reload_policy

Server reload policy