Xcode: Detect new default locations of Xcode 4.3 bits and pieces (#12621)

Xcode 4.3 installs into "/Applications" by default, from the Mac App Store.

Also, the paths to the available SDKs changed: they are now within the
Xcode.app bundle.

PackageMaker is installed as a separate program, and may be installed
anywhere. It is not installed with Xcode 4.3 by default anymore.
Download the "Auxiliary Tools for Xcode" to get PackageMaker.
Put PackageMaker inside the Xcode.app bundle, in its nested Applications
folder, or put it alongside Xcode in "/Applications" and CMake will find
it.

Update references to "find" paths: add new possible locations for finding
Xcode.app and PackageMaker.app. Prefer the most recent version's locations
first, but keep the old locations as fallback search paths, too.

Thanks to all the contributors who provided and tested out various patches
for fixing this issue. Especially, but by no means limited to:
Francisco Requena Espí, Jamie Kirkpatrick and drfrogsplat.
KWSys Nightly Date Stamp
CTest: Detect Xcode error "Command ... failed with exit code"
CTest: Match valgrind errors with "points to" (#12922)

Teach CTest to match valgrind errors of the format
"Syscall param ... points to uninitialised byte(s)".
CPack: Fix retry logic when calls to hdiutil fail

The long-standing sporadic failures of CPack tests on the Mac dashboards
are caused by an occasional problem running hdiutil. To compensate for
this, a retry loop was added in the code in a previous commit: a9fa71a4
... but the logic for breaking out of the retry loop was flawed, breaking
out of the loop (and not retrying) when the hdiutil command returns an
error instead of when it returns success.

This commit fixes the flawed logic, bumps up the number of retries from
4 to 10, and adds a half-second delay in between retries.

The delay is specifically added in case a virus checker or spotlight indexer
is temporarily causing the hdiutil failure by hanging onto a newly created
file longer than hdiutil expects it to.

As with all sporadically occurring issues, we'll never know if this is
really fixed all the way. But I'll be happy even if we can only get it to
happen just a bit less often.
Ninja: Add a cache option CMAKE_ENABLE_NINJA to enable the ninja generator.

Make the option default to on, for platforms where CMake passes
all tests with the ninja generator.  This is currently only Linux.
Merge branch 'cleanup-object-file-names' into object-library
Add cmGeneratorTarget to represent a target during generation

Some per-target information and logic is common to all generators.
Some of that information is currently stored in cmTarget but that
should be reserved for the configure step.  Create a class to hold
per-target information for generators.  On construction classify
sources from the target and store them in separate members.  This
classification is already implemented separately in each generator.
Create a cmGeneratorTarget for each cmTarget during generation

Construct the instances after the final set of targets is known but
before computing inter-target dependencies.  This order will allow
initialization of cmGeneratorTarget instances to adjust and finalize
declared inter-target dependencies.
Simplify cmMakefileTargetGenerator using cmGeneratorTarget

Replace the classification of source files in this generator
using that computed by cmGeneratorTarget.
Simplify cmVisualStudio10TargetGenerator using cmGeneratorTarget

Use CustomCommands and ModuleDefinitionFile computed in the latter
instead of recomputing them from the original target source files.
Pre-compute object file names before Makefile generation

Add a virtual cmGlobalGenerator::ComputeTargetObjects method invoked
during cmGeneratorTarget construction.  Implement it in the Makefile
generator to pre-compute all object file names for each target.  Use
the results during generation instead of re-computing it later.
Pre-compute object file names before VS project generation

Implement cmGlobalGenerator::ComputeTargetObjects in the VS generator
to pre-compute all the object file names.  Use the results during
generation instead of re-computing it later.
Remove unused cmSourceGroup method

The non-const GetSourceFiles method is not needed.
Rename/constify build-time config placeholder lookup

Rename cmGlobalGenerator::GetCMakeCFG{InitDirectory => IntDir} to
have a shorter name without a typo.  Add a 'const' qualifier since
the method is only for lookup and never needs to modify anything.
KWIML: Make test_INT robust to #define-d int#_t and INT#_C

Our TEST* macro calls pass arguments such as "int64_t" with the
expectation that the preprocessing token will be used literally.
Some platforms #define int64_t as "long long" which is not a valid
preprocessing token.  Perform preprocessor symbol concatenation
on the type names at the first level of macro evaluation to avoid
expanding the names.
Merge branch 'upstream-kwiml' into update-KWIML
KWSys Nightly Date Stamp
write_basic_package_version_file(): improve documentation

add notes when which mode should be used

Alex
write_basic_package_version_file: add ExactVersion mode

This mode is for packages which consider themselves only compatible if
exactly the same version is requested. The tweak version is ignored.

Alex