Windows: Protect against DirEntry with NULL ObjInfo

During cleanup protect AFSExamineObjectInfo() and AFSExamineDirectory()
from DirectoryCB objects that have a NULL ObjectInformation pointer.

Reviewed-on: http://gerrit.openafs.org/9603
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 ec5fd2ce07d2e8adfa5c34d978bc786f36dac044)

Change-Id: I7354c5c3eabf698b2f1a800fe05e3651079f96f7
Reviewed-on: http://gerrit.openafs.org/9614
Tested-by: BuildBot <buildbot@rampaginggeek.com>
Reviewed-by: Jeffrey Altman <jaltman@your-file-system.com>
Windows: VolumeInfoReadOnlyFlag registry option

Windows 7 Explorer Shell has a bug when processing drive letters
mapped to UNC paths whose target volume information specifies the
FILE_READ_ONLY_VOLUME flag.  When set, not only is the .readonly
volume treated as read only but all volumes that can be accessed via the
drive letter.   This bug is fixed in Windows 8.

Add a registry configuration option to permit configuration of the
behavior.  Sites that do not use drive letter mappings will want to
enable it even on Windows 7 because it permits the Explorer Shell
to disable the "Delete" and "Rename" options and others when the current
directory is read only.

The default is disabled on Win7 and below; enabled on Win8 and above.

Reviewed-on: http://gerrit.openafs.org/9606
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 adb6add99a6cd1c22a4a11f531e6e94e66c45d9b)

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