Error if linked target has relative paths in INTERFACE_INCLUDE_DIRECTORIES

We can do this check only if the TargetName is non-empty, which means
that we're evaluating INTERFACE_INCLUDE_DIRECTORIES from a linked
dependency which was set using target_link_libraries.

It is possible to have relative paths in INCLUDE_DIRECTORIES already
in CMake 2.8.10.2, so that part will require a policy to fix.
Fix the Qt 5 version required to run the IncompatibleQt test.

The commit to add the INTERFACE_QT_MAJOR_VERSION in qtbase.git
is 14054d45 (Set the INTERFACE_QT_MAJOR_VERSION to 5., 2013-03-16)
which will be part of Qt 5.1.0.

If there is a Qt 5.0.3 release, there is no guarantee it will
contain that commit. Make sure such a Qt version does not fail
with this test if not.
cmSystemTools: Generalize TrimWhitespace to all whitespace

Modify cmSystemTools::TrimWhitespace() to remove all leading and
trailing whitespace, not just spaces.
Clang: Add -isystem flag support everywhere

In GNU.cmake, -isystem is not used if APPLE is set. However, Clang has
pretty much always supported -isystem, so we should always use it.

In the future, GNU.cmake should do a version check to see if -isystem is
supported.
UseJava.cmake: require explicit request to include jars

Modify add_jar to (partly) use cmake_parse_arguments, and to require
using the named argument list INCLUDE_JARS to specify jar files (or jar
targets) to use as dependencies when creating a jar. This preserves the
ability to have such, while restoring the historic behavior that jar
files listed as sources are ignored. (The code now explicitly ignores
them, however, rather than adding them to an unused local variable, so
that it is more clear that nothing is being done with them.)
Modules/readme.txt: switch from "XXX" to "Xxx"

Using XXX as name of the package is ambiguous, since it can be
interpreted as "ALLUPPERCASE" and also as "ExactCase (if the name
is already ALLUPPERCASE)".
After extensive discussion there is the conclusion that ExactCase
is intended, so using a CamelCased name makes that more obvious.

Alex
Modules/readme.txt: make lines a bit shorter for easier readability

This patch doesn't make them 79 characters long, but at least gets rid
of really long lines.  While at it, fix spelling of "relevant".

Alex
Merge topic 'dev/add-isystem-for-clang'

4d668f3 Clang: Add -isystem flag support everywhere
Merge topic 'use-java-INCLUDE_JARS'

8a2fca8 UseJava.cmake: require explicit request to include jars
Merge topic 'ExactCaseReadmeTxt'

5479251 Modules/readme.txt: make lines a bit shorter for easier readability
140692d Modules/readme.txt: switch from "XXX" to "Xxx"
Merge topic 'error-on-exported-missing-include-dir'

634bb33 Error if linked target has relative paths in INTERFACE_INCLUDE_DIRECTORIES
Merge topic 'fix-Qt5-incompatibility-check-version'

535e53c Fix the Qt 5 version required to run the IncompatibleQt test.
Merge topic 'SystemTools-TrimWhitespace-all'

674f918 cmSystemTools: Generalize TrimWhitespace to all whitespace