cmCTestSVN: Add the new SVNInfo structure

It represents information of an SVN repository. It can be the base
repository or an external one.
cmCTestSVN: Extend Revision struct with SVN repo information

Also rename DoRevision to DoRevisionSVN since the signature changes.
cmCTestSVN: Add the Repositories list and the RootInfo pointer

The Repository list will contain the SVNInfo of all the repositories
(root and external ones).  The RootInfo pointer will point to the
SVNInfo structure of the root repository.
cmCTestSVN: Create the SVNInfo for the root repository
cmCTestSVN: Use the SVNInfo structure

- Suppress the URL, Root, Base fields from the cmCTestSVN class
- Update the code to use RootInfo instead
- LoadInfo(), GuessBase(), and a new LoadRevision() functions work on a given SVNInfo
- Use the implementation from the base class for LocalPath(), correct path is built by SVNInfo::BuildLocalPath() instead
cmCTestSVN: Add a LoadExternal() function and an ExternalParser class

This call 'svn status' and parse the result to get the list of externals
repositories.  The external repositories found are added to the
Repositories list.
cmCTestSVN: Load and process information from externals

Call LoadExternals() and perform operations on all elements of the
Repositories list.
cmake-gui: Fix error status when interrupted.

Sometimes it wasn't returning an error and one could continue
with the generate generate as if no errors occurred, and even
with an incomplete configure step.
Ninja: don't suppress warning about compiler options

Warnings about invalid compiler options are printed first
by cl.exe, this line was suppressed when the source file
name didn't contain back slashes.
Add additional architectures to CMakePlatformId.h.in

Detect the MIPS and SHx architecture for MSVC compiler.
Add WindowsCE platform information files

This enables CMake to create Makefiles targeting Windows CE devices.
CMake needs to be run within a cross compile command prompt and requires
a toolchain file which sets CMAKE_SYSTEM_NAME to "WindowsCE" and
optionally CMAKE_SYSTEM_VERSION.
Ninja: suppress cmcldeps only for source file signature try_compiles
Utilities/Release: Link AIX binary with large maxdata

Raise the default "maxdata" linker setting on the 32-bit AIX release
binaries.  This allows the CMake binaries to process larger projects
without encountering a "Segmentation fault in extend_brk".
fix for discovering ft2build.h using FREETYPE_DIR environment var (#13502)
FindQt4: Avoid "finding" non-existent library in a .framework

...if the library file does not exist inside the .framework then do
not allow a library variable to be set to the path to the framework.
Force set it to NOTFOUND instead.
Simplify CMake.HTML documentation test command line

Drop the "cmake -E chdir" wrapper and instead pass the DTD directory to
xmllint's --path option using url encoding.  While at it, move the
XHTML1 DTD to "Utilities/xml/xhtml1" to make room for additional DTDs.
Utilities/xml: Add .gitattributes to disable whitespace checks

This directory holds upstream DTD files.  We do not want to modify them,
so tell Git to skip whitespace enforcement.
Utilities/xml: Add docbook-4.5 DTD (#13508)

Run the shell code below to put the DTD in Utilities/xml/docbook-4.5:

v=4.5 &&
sha1=b9124233b50668fb508773aa2b3ebc631d7c1620 &&
mkdir Utilities/xml/docbook-$v &&
cd Utilities/xml/docbook-$v &&
wget -c http://www.oasis-open.org/docbook/xml/$v/docbook-xml-$v.zip &&
sha1sum docbook-xml-$v.zip |grep $sha1 &&
unzip docbook-xml-$v.zip &&
rm docbook-xml-$v.zip
docbook: Remove table of contents

When DocBook is transformed (eg. to PDF, HTML, ...), a TOC is generated
from the document's layout.  The TOC-like list that the docbook
formatter used to generate was both redundant and invalid.
docbook: Factor out code to write valid DocBook IDs

Attributes in XML may contain alphanumeric characters, underscores,
colons and dots.  When DocBook is chunked, the dot is often used as a
path separator.  To generate a valid ID, we take the title of the
section, transform all non-alphanumeric characters to underscores and
then add a prefix separated with dots.  We also add the document name as
a prefix, in order to 'xinclude' eg. cmake.docbook and ctest.docbook in
the same document.  IDs are written in multiple places, so the code is
factored to a function.