Use bash in scripts and tests

At least `[[ ]]` and arrays are not Posix shell compatible, so use bash by default.

Test files are normally run via runner using bash and zsh, but the runner itself uses `[[ ]]` which complains with dash.