CPackRPM: avoid leakage of RPM directive from one component to another.

Fixes #0013248
Inspired-By: Sergei Golubchik
FindPythonLibs: honor EXACT version specification (#13216)
FindBZip2: Search locations in GnuWin32 registry

The GnuWin32 "bzip2" installer stores in the registry key

 HKEY_LOCAL_MACHINE\SOFTWARE\GnuWin32\Bzip2

an "InstallPath" value.  Use this entry as a search location.
KWSys: Fix hashtable prime list on g++ 2.9 (#13273)

Building CMake with g++ 2.9-aix51-020209 on an AIX 5.3 system gives:

 cmsys/hashtable.hxx: In function `const long unsigned int *cmsys::get_stl_prime_list ()':
 cmsys/hashtable.hxx:399: warning: sorry: semantics of inline function static data
  `const long unsigned int _stl_prime_list[31]' are wrong (you'll wind up with multiple copies)
 cmsys/hashtable.hxx:399: warning: you can work around this by removing the initializer

Give get_stl_prime_list internal linkage.
Ninja: add response file support on Windows

When MinGW is used slashes are used for dependencies
because ar.exe can't read rsp files with backslashes.

Many thx to Claus Klein for starting working on this.
Ninja: 30000 is too long for windows cmd
Ninja: check for valid pointer
Ninja: also create rspfile rules
Ninja: don't break because of empty commands
Ninja: find mingw's resource compiler
cmArchiveWrite: Clear fflags from archive entries

When reading archive entries from disk strip any "fflags" entry headers
that may have been loaded from the filesystem when libarchive is built
with HAVE_STRUCT_STAT_ST_FLAGS (struct stat has 'st_flags').  The local
filesystem flags are not useful for distribution.  Furthermore, GNU tar
does not understand the "SCHILY.fflags" extended header used to store
the flags in the archive.  Use the approach from commit e8558efa
(cmArchiveWrite: Clear xattr and acl from entries, 2011-04-07) to remove
the flags and avoid producing the non-portable extended header.
Makefile: Support directory names containing '=' (#12934)

Since commit c8ef6430 (Allow directory names containing '=' and warn if
necessary, 2012-02-06) we allow directories with '=' instead of
rejecting them as was previously done since commit 8704525f (Reject
directory names containing '=', 2011-01-14).  However, we did not warn
in all cases that '=' may cause failure, such as when it appears on the
right-hand side of a dependency line.

Both commits above were made assuming that '=' cannot be escaped in Make
syntax, but it can be achieved with a variable:

  EQUALS = =
  left$(EQUALS)side : right$(EQUALS)side

Use this approach to escape '=' in dependency lines, thus supporting
the character in paths.

All our tests now pass when CMake is built in source and build trees
both containing '=', except for the "OutOfSource" test.  It fails in
its coverage of the obscure "OutOfBinary" test case where part of the
build tree is located outside the main build tree of the test.  The
reason is that CMake must invoke a command like

  $(MAKE) -f /path/with=sign/build.make /path/with=sign/somefile

but the make tool interprets the last argument as a variable assignment.
This is an acceptable limitation, since the case is so obscure, in
exchange for supporting '=' cleanly otherwise.
VS: Set Intel Fortran 13 project version

I have tested that it works with:

 Microsoft Visual Studio 10.0.40219.1
 Intel Visual Fortran 13.0.0.041 Beta Build 20120425
libarchive: Avoid 'inline' on SunPro < 5.9 (#13277)

Suggested-by: Daniel R. Gomez <gomez@teragram.com>
KWIML: Add interface to report broken integer format macros

The <inttypes.h> header on some platforms define the integer format
macros incorrectly for some of the integer types.  Document macros that
we can define to report such platforms to the includer.  Check these
reports before trusting the system-defined macros.
KWIML: Report broken integer format macros on AIX 4.3

The <inttypes.h> on this platform defines the macros incorrectly, as in

 #define PRId32 %d

instead of

 #define PRId32 "d"
Merge branch 'upstream-kwiml' into update-KWIML
Ninja: add dependency tracking for msvc with cldeps
UseJava: fix find_jar() called with multiple files (#13281)
Ninja: add wrapper for cl to extract dependencies

cmcldeps wraps cl and adds /showInclude before calling cl.
It parses the output of cl for used headers, drops system
headers and writes them to a GCC like dependency file.

cmcldeps uses ATM ninja code for process handling,
but could be ported later to SystemTools.

TODO: Why needs ninja multiple calls in the BuildDepends test?