KWSys 2014-04-02 (39f98b5d)

Extract upstream KWSys using the following shell commands.

$ git archive --prefix=upstream-kwsys/ 39f98b5d | tar x
$ git shortlog --no-merges --abbrev=8 --format='%h %s' a8aa1014..39f98b5d
Brad King (1):
      39f98b5d Encoding: Add self-assignment check to CommandLineArguments

Jiri Malak (1):
      36982798 SystemTools: add Watcom single Quote processing

Change-Id: Ib8e67dc0c29ee62e6489c068987e4206fa4adaf3
Merge branch 'upstream-kwsys' into update-kwsys
Qt4Macros: Make QT4_CREATE_MOC_COMMAND a function

QT4_CREATE_MOC_COMMAND is given a moc_flags argument that contains the
COMPILE_DEFINITIONS and a potentially large list of include directories.
Since it is a macro, the ${moc_flags} reference is replaced with this
content and sent through cmMakefile::ExpandVariablesInString (EVIS).
Since commit v3.0.0-rc1~138^2 (Qt4: Use generator expression in
COMPILE_DEFINITIONS, 2014-01-13) the COMPILE_DEFINITIONS value contains
a '$' so the EVIS fast-path is no longer used.  Instead the full
cmCommandArgumentParserHelper is now used on the large input, which is
very slow (since it was originally created for hand-written code).

Change QT4_CREATE_MOC_COMMAND to a function instead of a macro to avoid
passing large content through EVIS.  This makes it significantly faster.
cmTarget: Remove abort() after INTERNAL_ERROR reports

After reporting an internal error we should continue rather than
aborting.  Remove such statements that are left from debugging.
Remove default labels from fully covered switch statements.

Allow compilers to warn when new enum values are added, making
switches no-longer fully-covered.
cmTypeMacro: Add a class to eat the semicolon following the macro use.

Apply the same workaround to the cmCPackTypeMacro. Additionally
change that macro to not use 'class' as a macro parameter.
Remove extra semicolons from C++ code.

Clang based tools running over the code complain about these,
but clang has a fixit for removing them.
Tests: Fix CTestTestFailedSubmit-ftp with OS X system libcurl

On OS X 10.9 the system libcurl has a different error message when
failing to connect:

  Failed connect to :21; Connection refused

Match this message to pass the test.
cmMakefile: Revise comment describing IsOn()
Merge topic 'cmMakefile_IsOn_fix_comment'

a40f57e4 cmMakefile: Revise comment describing IsOn()
Merge topic 'update-kwsys'

23b4abb2 Merge branch 'upstream-kwsys' into update-kwsys
eccc425a KWSys 2014-04-02 (39f98b5d)
Merge topic 'Qt4Macros-moc-performance'

7beba986 Qt4Macros: Make QT4_CREATE_MOC_COMMAND a function
Merge topic 'remove-stray-aborts'

c4059a21 cmTarget: Remove abort() after INTERNAL_ERROR reports
Merge topic 'compiler-warning-cleanup'

6c190245 Remove extra semicolons from C++ code.
4bef02e7 cmTypeMacro: Add a class to eat the semicolon following the macro use.
ff710539 Remove default labels from fully covered switch statements.
Merge topic 'fix-CTestTestFailedSubmit-ftp-for-osx-system-curl'

63d864a0 Tests: Fix CTestTestFailedSubmit-ftp with OS X system libcurl