The existing code in runcoms/zlogin results in `$?` being
equal to `1` when starting a login shell if stderr is not
a TTY. For example:
zsh -l 2>/dev/null
When using a theme that displays error/success status of
the last command, the first prompt will show an error.
This commit fixes it so that error code is zero after
sourcing zlogin (unless something unexpected and bad happens).
Setting environment variables for launchd processes is unreliable.
Finder and all Finder launched programs have to be restarted for the
new environment variables to take effect.