fix zsh completion

This `_hub` completion script should correctly wrap modern versions of
the `_git` scripts distributed by both zsh (native) and git
(bash-based).  The bash-based version could use a bit more love to
complete arguments to the actual subcommands.  Right now it can only
complete the names of the subcommands themselves.

The `compdef` that was previously emitted by `hub alias -s` prevents the
new `_git` script from working, so it has been eliminated.

Fixes #231
add hub commands to `hub help --all`

While exploring the bash-based completion script for zsh, I initially
implemented this so that the bash script would see the new commands.
Obviously this didn't work because the completion script invokes the
real `git` command, not `hub`.  But I think the feature is nice for
users.
update zsh completions for pull-request and ci-status
add integration tests for bash/zsh completion

Each scenario tagged @completion opens an interactive shell in the
background which it drives via tmux. It sends keystrokes to it including
the Tab character and then inspect the contents of the terminal for
changes.

zsh completions are tested against the zsh-distributed git completions
(better quality) and against git-distributed git completions (lower
quality; installed by Homebrew by default).
Merge branch 'fix-zsh-completion'