remove Msg::ArgType enum, it is redundent
rename ArgInfo to ArgToken, and extract ArgToken to a separate file into ArgType.h out from ArgParser nested class.
use symobl:: functions to name each char's usage instead of hardcode char