previously zcleanup had acquired some regressions:
- _sev_tmp was changed to be a link, which caused `find` to fail without -L
- pid selection was broken
- logic was not unified, so some code paths were making incorrect assumptions
- if tmp failed to be removed, superfluous errors could be shown
zcleanup now removes all session dirs with this criteria:
- pid is ourselves (stale session or was forced to cleanup)
- pid is dead
- pid is alive and not a zsh
the dir is also now reused in tmp generation in case it exists, instead of
showing an error; this really shouldn't happen but I think it's saner