Add the initial version of the command line option (arguments) class

Change-Id: Ic7bebc10b3f8d8dd06ad0f4bb897c51d566e3b7c
Add the initial version of the command line parser class

Change-Id: If8829a38f859a8808fe1fd4c6710d62acbb3901e
QCommandLineParser: add explicit process() method

Compared to on-demand parsing, this provides the opportunity for the
handling of --version, --help, and aborting on unknown options.

Change-Id: I005ca09af500d01efe940166508adfcf1ffaa378
Doc: mention QCommandLineParser in QCoreApplication, near arguments()

Change-Id: I8ec819ccc1775ae8edd28ee9342c685c7b5522ca
QCommandLineParser: add autotest.

Change-Id: Icf5e1a0c4c60f7d62802f7e21ec606acb1f48f5c
QCommandLineParser: add isSet() method, for options without values.

This is certainly more convenient and intuitive than
  if (parser->optionNames().contains("b"))

Change-Id: Id40486529cf8b15aa034fe7f627fedd5408e7a04
QCommandLineParser: fix support for default values

Added test for the OneValue case, including short and long name,
option not set, and option not set with a default value.

Change-Id: I59d77f7b0c696c22682f7df0000d9a9101b64402
QCommandLineParser: fix parsing of "--foo=bar".

Change-Id: I4a8db27dbbc32f5143af3f134cfd56b72fdb2e11
QCommandLineOption: Warn on invalid option names

This found a bug in the existing code, and I made the same mistake
in a test program, so the warning is definitely useful.

Change-Id: I734a1b0d45a96ec03317093b9e96e2cbd14fbb7c
QCommandLineOption: replace OptionType with QString valueName.

This is necessary for --help output, so that it can say -o <file>
rather than just -o.

Change-Id: I5472db4b0140a5a3990f39e788dcee35d5d6227c
QCommandLineParser: support for -v/--version with addVersionOption()

With full autotest using QProcess.

Change-Id: I67c3834c49deb4cbc7223a6ebbb3f8b8012bafba
QCommandLineParser: addHelpOption() for automatic handling of --help

Change-Id: I1e9334d49cc341c82c23988fa2bbac84f9b8105d
QCommandLineOption: use QString for the default value

This is much more convenient. 100% of the apps I ported have a single
QString as the default value.

Change-Id: Icca85cb3427799172458892dba634959d605b7c4
QCommandLineParser: rename argument to value.

In "--longoption=val", the whole string is an argument (according to
QCoreApplication::arguments()) but longoption is the option name and val
is the value. Calling val an argument was rather confusing, and also
inconsistent with defaultValues().

API changes: argument("...") -> value("..."), arguments("...") -> values("...")

Change-Id: I9e50213890f821439aa90e6443415f2f755941c8
QCommandLineParser: add setRemainingArgumentsHelpText

Necessary for --help output to be complete.

Autotest added, including the case of changing the help text and the possible
options, depending on a "command" (the first "remaining argument").

Change-Id: I12531f9039032204a19837427f5dd21b49cf33aa
QCommandLineParser: clear values map when calling parse twice.

Everything else was getting clear, except this one (oversight).
Unittest is part of next commit.

Change-Id: I1761063c6c9f29d40f1b8f7645b1aa1c3a62b43a
QCommandLineParser: stop parsing options after "--".

Change-Id: I9cc23a1b7293ba3e9cf5ff062668e17e8856cf5a