Templatized C++ Command Line Argument Parser