#9:  GetUsage now throws ArgException

GetUsage now throws ArgException when it can't figure out the name of
the exe.

I implemented your proposed solution and provided a matching test.  Thanks for allowing me the opportunity to contribute.