Don't redirect stderr to /dev/null

`&>` redirects both `stderr` and `stdout`.
`>` redirects only stdout.

Use `&>` when we explicitly want to ignore/discard error messages,
which is rarely.

`command -v` outputs only stdout.
So, `>` is appropriate because there is expected `stderr` output.
In the rare case that command fails,
we want the reason printed.
Switch from `hub` to `gh`

[gh] is a [hub] reimplementation that's much faster and is now the official
Github CLI. It appears that "hub" is [deprecated].

[gh]: https://github.com/jingweno/gh
[hub]: https://github.com/github/hub
[deprecated]: https://github.com/github/hub/issues/475