client API: trigger wakeup when creating wakeup pipe/callback

Since redundant wakeups are avoided now, it's easy to miss a wakeup when
creating/setting the pipe/callback after the client API was signalled.
If the client API is signalled, need_wakeup is set to true, and
wakeup_client skips writing to the pipe or calling the client API. That
this can happen is not very obvious to the client API, so trigger a
wakeup right on start in order to remove this special case.
client API: minor documentation fixes/enhancements
TOOLS: add script for generating a zsh completion script

As discussed in #775
build: generate and install zsh completion script