Split CommandLineHelpModule into a separate file

- Move CommandLineHelpModule and supporting classes into
  cmdlinehelpmodule.cpp.  The declaration is in a corresponding header.
- Move declarations required in both .cpp files into
  cmdlinemodulemanager-impl.h.
- Make CommandLineHelpModule use a private implementation class to be
  able to keep most classes internal to cmdlinehelpmodule.cpp.  The
  implementation class is a separate class (not a private inner class)
  to allow using it from contexts outside the actual module (necessary
  for subsequent changes).

cmdlinemodulemanager.cpp was getting long, and contained a lot of
declarations for which order mattered.  Now, the most important such
declarations are in headers, and the division between general module
management and the help management is clearer, simplifying things.

Change-Id: Iecc9a6bf6aa8b020ab153cdde6c882523574a7ab