Cmd line help

Another refactoring to make CmdLineParser smaller and split up the concerns in this class more clearly.