zsh: add a couple functions to mimick Bash's history searching
zsh: introduce a _bindkey and drop _setup_keys

This allows us to stop modifying key[] and just create what we need, as
we need it.  There's no longer a need for _setup_keys, the loop, and
running it twice, so we can remove it all.