Allow alt-f/b to navigate directory history on empty commandline.
Fix the patching up of keychain's output.

The problem is that `set` doesn't seem to want to overwrite the relevant
universal variables with new values. We apparently have to erase them
first. I didn't notice until now because keychain is so successful at
persisting ssh-agent's :).