avoid precmd_functions duplicate on zsh

On zsh, precmd_functions duplicate may occur.
```console
$ echo $precmd_functions

$ . /path/to/z.sh
$ . /path/to/z.sh
$ echo $precmd_functions
_z_precmd _z_precmd
```
This pull request avoid this.