CommandLine:
1.change its internal data type
2.add several functions

Add unittest for CommandLine
add unittest for Get/SetProgram
1. add some comments
2. replace typedefs with usings
3. finished ctors and ParseFrom* functions
CommandLine:
1. slight changes on comments
2. add helper functions for AppendSwitch and AppendParameter