Improve zsh history

* "to the $HISTFILE incrementally (as soon as they are entered), rather than
  waiting until the shell exits"
* replace any duplicate in the history, not just the previous duplicate: allows
  for a cleaner history
* `.zhistory` is more idiomatic than `.zsh_history`