Add static version of add-zsh-hook
This adds a static version of the ‘add-zsh-hook’ function from zsh
upstream. It is included for now to make the setup work with older
versions of zsh (prior to 4.3.7) in which this function had a bug that
triggers annoying errors during shell startup.
This is exactly upstreams code from
f0068edb4888a4d8fe94def, with just a
few adjustments in coding style to make the function look more compact.
This definition can be removed as soon as we raise the minimum version
requirement to 4.3.7 or newer.