Make setups.{sh,zsh} more POSIX-compliant and setups.zsh work for dash

. switch "function setup() { }" to "setup() {}". This is POSIX, and is
    valid for bash/ksh/sh. I think.

. drop the "[[ -n $BASH_COMPLETIONS" line for setups.zsh, as it is
    neither POSIX nor useful outside of bash

The dash shell is supposed to be a pure POSIX shell. In any case
setups.sh has too many bash-isms for it. "export -f" is necessary for
bash, so I made setups.zsh POSIX-compliant, even though zsh is (much)
further from POSIX than bash is.

Note that "source" is not POSIX, "." is. And that whether functions
are exported is undefined; both dash and "bash --posix" silently
ignore "export $funcname", and dash fails on "export -f $funcname".