ArgummentParser and related tests

Note: it will fail to compile as is, as the ArgumentValues class is
missing. However if all calls to the ArgumentValues class are commented
out, it will compile successfully