Use new member function Min/Max instead of std::min/max
Add empty arguments if in quoting mode
Add a method to parse off the program name from a windows command line
Rename ValueType to GetValueType
Update test
Use trailing return types to implement the HasTypedef... traits