KWSys 2014-05-07 (6074f33f)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 6074f33f | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' f3a36760..6074f33f
Ben Boeckel (22):
      ef3bfa01 c_str: Don't use .c_str() when streaming strings
      9c165368 Glob: Use string comparisons if you have them ready
      53ba0bc6 containers: Use .empty() instead of .size() where possible
      6cbb57ac strings: Use string methods instead of size calculations
      e53596b7 RegularExpression: Add string overloads
      aec9de6a CommandLineArguments: Push the string back, not its C string
      1d531416 Glob: Accept a string in Glob::AddFile
      81f5e0a8 Glob: Accept a string in Glob::AddExpression
      d40c2706 SystemTools: Remove redundant if guards
      c1296f4a SystemTools: Defer computing length until after a .empty() check
      7ffb7106 SystemTools: Use the iterator constructor for strings
      29e3b1d8 SystemTools: Use .rfind('/') rather than .find_last_of("/")
      5eb3a65c SystemTools: Don't construct a string just for its length
      b07b5fc1 SystemTools: Take a string in GetShortPath
      153f6df7 SystemTools: Use strings in ComparePath
      2c2f6604 SystemTools: Accept strings in IsSubDirectory
      84db9ee5 SystemTools: Take strings in AddTranslationPath
      4b409aa4 SystemTools: Take strings in SplitPath
      d2dbff07 SystemTools: Take strings in CollapseFullPath
      e9204f8f SystemTools: Take strings in AddKeepPath
      3254681a SystemTools: Reserve memory in JoinPath
      6074f33f SystemTools: Use static strings in SystemToolsAppendComponents

Change-Id: I53c7a1005206dba43ee785bf807c478bf146ca0e
Merge branch 'upstream-kwsys' into update-kwsys
cmSystemTools::RenameFile: Retry on Windows ERROR_SHARING_VIOLATION

Add ERROR_SHARING_VIOLATION to the set of errors (previously including
only ERROR_ACCESS_DENIED) that cause a rename (MoveFile) on Windows to
retry.  The condition was observed when two renames to the same target
file name were happening simultaneously.
Add the WriteCompilerDetectionHeader module.

Provide a function to write a portable header to detect compiler
features.  Generate a preprocessor #error for unknown compilers
and compiler versions whose features are not yet recorded.  This
error condition might be relaxed in the future, but for now it
is useful for verification of expectations.
Merge topic 'WriteCompilerDetectionHeader-module'

62a4a67d Add the WriteCompilerDetectionHeader module.
Merge topic 'update-kwsys'

7fa16df4 Merge branch 'upstream-kwsys' into update-kwsys
7762c574 KWSys 2014-05-07 (6074f33f)
Merge topic 'fix-atomic-rename-Windows-sharing-violation'

24bd7ae1 cmSystemTools::RenameFile: Retry on Windows ERROR_SHARING_VIOLATION