Make sure the wakePend flag does not incur undefined behavior.

The wakePend flag currently has undefined behavior as multiple threads
read and write to it without a consistent locking mechanism.  This
switches writes and reads to use C++11's release-consume ordering
when available.  Without this patch, we have undefined behavior - which
is illegal with C++11.

The release-consume ordering is sufficient to guarantee atomicity
and the ordering of wakePend writes; other than that, it's a very
weak memory model.  In practice, this is a guarantee already provided
by all interesting architectures (it only generates different assembler
on DEC Alpha).

Fixes #167
Replace ifdef's with CPP_ATOMIC_* macros.
Re-introduce the toMutex lock and explain why this is necessary.

NOTE: also fixed a debug line accidentally committed to XrdSysAtomics.hh
Add option for log mask.
Merge pull request #174 from alja/pss-setop-add-mask

New entry in proxy  setopt configuration
Merge pull request #170 from bbockelm/fix-wakepend-loads

Make sure the wakePend flag does not incur undefined behavior.
Do not force IPv4 unless the old client is actually invoked.
Only enable blacklist processing if the cms.blacklist directive
was actually specified.
Add missing test that may result in a SEGV for certain blacklists.
Merge branch 'master' of github.com:xrootd/xrootd into ben