Throw MissingArgException instead of ArgException

A finer grained exception for clients to process individually. Also renamed
the test to provide a little bit more info on what is being tested.
Throw UnknownActionArgException instead of ArgException

A finer grained exception for clients to process individually.