Test scripts now use Bash from path as the shell

Previously the scripts (which depend on bash functionality) used /bin/sh
which may not be a Bash shell.
Replaced ArrayRef helpers with std::vector helpers

ArrayRefs do not own copy or own the data, only ranges. Therefore
a container must be used.
fast_assert: embedded parenthesis to eliminate warnings

The warning was "warning: suggest parentheses around comparison in operand of ‘==’ [-Wparentheses]"
run_kernel.sh: fixed mktemp to work in Linux

coreutils 8.13 requires XXXX in the template