Avoid clobbering $? in PROMPT_COMMAND

Utilizes a trick - backticks work both where a command is expected and
where an argument is expected, so we don't need to worry about whether
or not PROMPT_COMMAND was empty to start with, or whether it ended with
a semicolon.

This is safe to do because the call to _z will never print anything out
(thanks to the &>/dev/null).  It behaves as a no-op in the command
position, and doesn't affect the number of arguments passed to the
command if this comes in the argument position (since it's not quoted
and the expansion is empty).

Fixes #90