Windows: AFSDeleteDirEntry set input to NULL

AFSDeleteDirEntry() frees the memory allocated to the DirectoryCB.
To ensure that an invalid memory pointer is not accidentally used
by the caller after the memory is freed, use
InterlockedCompareExchangePointer() to set the input parameter to
NULL prior to destroying the DirectoryCB.

Reviewed-on: http://gerrit.openafs.org/9721
Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit 76e33082d12eaeaaf87df53986b46a508c7ad68d)

Change-Id: I5413a4dff4a550025975f752b9a65400e92aa035
Reviewed-on: http://gerrit.openafs.org/9738
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Windows: Switch to Interlocked ops for RDR Set/Clear

Switch to using interlocked operations for the SetFlag and ClearFlag
macros.

Reviewed-on: http://gerrit.openafs.org/9722
Reviewed-by: Peter Scott <pscott@kerneldrivers.com>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Tested-by: Jeffrey Altman <jaltman@your-file-system.com>
(cherry picked from commit dd73c9c1ef98b94ee1f4e870b52e2604422595e3)

Change-Id: If462505f48f6d87ae3e655566e5ad97c068f4317
Reviewed-on: http://gerrit.openafs.org/9739
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>