Drive CLI command tests through `RunCommand` instead of restating option structs
A few command tests in cli/commands call the handler with an anonymous struct literal. Go counts field tags as part of a struct's type, so these literals have to copy every field and tag of the command's options. Adding a flag then breaks the test even when nothing it checks has changed. MIR-2191 converted sandbox_pool_test.go. The rest still do this: runner_query_test.go, app_versions_test.go, debug_deploy_events_test.go, runner_status_test.go, section_help_test.go, logout_revoke_test.go, and config_selection_test.go.
Converting them to RunCommand with real flags also tests the flag contract itself. Pass negative values after --.