Plug in arparse parser.

Also remove unused self._interactive.
Simplify recursion logic.
Only recurse if -r was passed.

Historically, -r was ignored. Bug?
Don't consume the remainder.

Allows -h to come last for example.
Improve -h output. Add examples.
Fix incorrect error message.
Use a custom usage string.
Compress usage string.
Remove incorrect ']' from string.