Fixes after using `setopt nounset` during tests

Also add tests for unset variable with varstash.
Create $AUTHENV_ENV_FILENAME if it does not exist