Delay the initialzation of NSPR, NSS and SASL libraries.

Initialization of these libraries incurs a significant
penalty in the form of resource (memory) usage. This change
delays this initialization, for both clients and servers,
until their respective funcionalities are required.

A significant amount of socket I/O abstraction code
(pre-connect/pre-accept NSPR implementation) was made obsolete
and was removed. The separation of native and NSPR file
descriptors in the IPC table is also no longer necessary
and the related code has been removed.
Merge remote-tracking branch 'origin/dev' into brolley/dev
qa/944: Mitigate race condition with respect to pmcd start up.
pmcd_wait now responds to ENOENT.

ENOENT indicates that the pmcd's unix domain socket file has
not yet been created. pmcd_wait will try again, up to the configured
maximum number of times.

This commit also reverts commit
d62b31c5282c6133c87d067db28b3cd440f650f3 which is no longer
necessary.
Merge remote-tracking branch 'origin/dev' into brolley/dev
Implement new PDU_FLAG_SECURE_ACK protocol for clients and servers.

When the server supports it, clients can request that an error
pdu indicacting the server's NSS and SSL initialization status
be sent by the server as part of the secure connection handshake.
This indicates whether the server is able to upgrade its connection
to SSL/TLS and, thus, whether the client should do the same.

Older servers will not indicate this capability during the initial
handshake and so the client will not request or expect the pdu.
Older clients will not request this and the server will therefore
not send the pdu.
qa test 966: NSS failure message no longer expected during pmcd startup.

NSS initilization is now delayed until the first secure connection
attempt.
Merge remote-tracking branch 'origin/dev' into brolley/dev
Use smallest cache size for SSL_ConfigMPServerSIDCache().

Smallest cache size is 1.
pmdagfs2: Update tests and add additional checks for compatibility

Updated qa 655 and common.gfs2 to improve qa testing compatibility
when used on older distributions. Have moved around tests used so that
qa 654 will be able to run successfully in all instances whereas qa 655
will either run successfully on _notrun with an appropriate error in the
event where the environment does not support fully running it.

Have made additions to common.gfs2 to add additional checks for certain
GFS2 tracepoints as well as checks for GFS2 sysfs statistic files.
Merge branch 'brolley/dev' of ../pcpfans into brolley-merge
Update test qa/145 for secure protocol fix/extension

Came across a test 145 failure with the addition of bits at the
head of the pmcd/client authentication exchange.  It all looks
correct to me, split this test into secure/non-secure variants
so that it passes for all cases.

Updated a few comments/copyright noticed after reading through
Daves recent changeset.
Update some tests using old-style pcp-version-based output