Bug 3971: "BUG: cannot aggregate mgr:client_list: cmd->profile != NULL" in SMP mode

When running Squid in SMP mode, the 'client_list' command cannot be used as the
coordinator doesn't call clientdbInit(), and thus doesn't have the client_list
action registered.

This patch uses RegisteredRunner to initialize clientdb and register the
'client_list' command
Initialize asyncLoopDepth_ in constructor

  Detected by Coverity Scan. Issue 740529.
Enable -n command line option for non-Windows Squid builds

This command line option is used on Windows to name the service instance
of Squid being run and/or managed. At this point it still only has
useful effect on Windows, but can now be used by components on other
systems as well.

Show the running instance service name in cacehmgr and -v output.

Also remove _WIN_SQUID_DEFAULT_SERVICE_NAME macro which duplicated the
APP_SHORTNAME macro. This changes the Windows service name from Squid to
squid (lower case) on future Squid-3 for Windows.
Bug 3954: compile failure in CpuAffinity.cc

Patch written by 'dim [1]' contributor to FreeBSD and imported to Squid
under FreeBSD license. see
http://svnweb.freebsd.org/ports/head/www/squid33/files/patch-include__Array.h
Add ${service_name} macro to squid.conf processing

This allows squid.conf directives to be configured per-service by
expanding into the -n service_name parameter. The default is "squid".
Bug 3608: part 1 - per-service name for workers UDS sockets

Separate the UDS socket names used by SMP workers by the -n service_name
label assigned to the Squid instance being run.

TODO: separate shared memory blocks per-service.
Bug 3975: atomic detection cross-compilation failure
Comm job callbacks need job's cbdata pointer, not a job pointer.

Otherwise, in complex inheritance hierarchies, some [inner] classes will
hit cbdata cookie assertions when scheduling Comm calls with callbacks.
Fix configure syntax error on strict shells