First attempt at an implementation of a non-blocking shared port client.
Fix handling of NULL char *; fix non-blocking logic. #4094
Mark socket as non-blocking when a connection attempt is made. #4094

This causes clients to be rejected as soon as the daemon's backlog
is hit.  This is equivalent behavior to the case where the daemon
is listening on the network and the TCP socket backlogs.
ifdef out portions which will not compile under Windows. #4094
Merge branch 'master' into shared_port_nonblocking
Merge branch 'master' into shared_port_nonblocking
Merge branch 'master' into shared_port_nonblocking
Merge remote-tracking branch 'github/shared_port_nonblocking' into shared_port_nonblocking
Attempt to make the shared port transparently forward collector connections.
Allow shared port to peacefully coexist with the collector. #0
Have COLLECTOR_USES_SHARED_PORT do the requisite configuration. #3813
Merge branch 'master' into default_shared_port. #3813

Merge was done by hand and tested to the point where it compiles
and the logic looks right.  Needs testing.

Conflicts:
	src/condor_daemon_core.V6/condor_daemon_core.h
	src/condor_daemon_core.V6/daemon_command.cpp
	src/condor_daemon_core.V6/daemon_core.cpp
	src/condor_io/shared_port_client.cpp
	src/condor_io/shared_port_client.h
	src/condor_io/shared_port_server.cpp
	src/condor_utils/param_info.in
Cleanups from testing branch. #3813

- Actually turn on USE_SHARED_PORT by default as the branch suggests.
- Fix bug on IPv6 socket binding caused by default arguments to bind.
- Avoid binding the UDP socket twice.
Merge branch 'master' into default_shared_port
Documentation and changes from code review.  #3813
Make default ID on windows somewhat random. #3813

On Windows, we have a global namespace for pipes.  Hence, we can't
use the default ID across multiple instances.  So, we tie the ID
to master's PID.  Fixes most of the observed test failures.
Fixups based on batlab tests. #3813

For the most part, disable tests which require shared port to
be turned off to function (for example, if they want to detect
the TCP port used by a daemon and cannot parse a sinful string).

Notably, this also defaults shared port to FALSE for Win32.  This
is because there are some suspicious threading issues in batlab
tests which I don't have the expertise to solve.
Merge branch 'master' into V8_3-gt3813