Use args_func in all commands

This makes the commands do the right thing when exceptions are raised.

Fixes #94.