Split out assertError
Added command tests
Implement AddGroup on Command which can parse sub commands
Use correct group context in subcommand scanner
Do not stop scanning after first embedded struct
Initialize substruct pointers automatically when scanning
Default usage to [OPTIONS]
Do not write empty usage
Added help tests
Added options tests
Added group pointer test
Added required test
Added clarifying comment for parseNonOption