usage() hard-coded exit 1, so every --help/-h invocation on
issue-assign, issue-create, issue-list, milestone-create, pr-create,
pr-list, and pr-merge exited nonzero, logging phantom isError records
across fleet lanes and breaking set -e composition. usage() now takes
an exit-code arg (default 1); the -h|--help case calls usage 0. All
other error paths are untouched.
Closes#701