Issue 336 2

These patches consolidate the parse of command line options to ConfigManager.
In addition, it also parses a configuration file.
Can we remove `g_cmdLineOpts`?
If we can remove it and create a new instance for each use case, we can also remove `CommandLineOptions::clear()`. It is more simpler.