Remove bashisms, use /bin/sh shebang

- Remove glob within test command
- Replace [[ bashism with POSIX [
- Replace source bashism with POSIX .
- Replace (( bashism with POSIX [
- Remove process substitution bashism

Other fixes:

- Simplify return value negation
- Use grep -F for speedup on non-regex
- Use $HOME consistently over ~
Setup travis build to run shellcheck

Disable false-positives via shellcheck declarations:

- L10: We're passing a format string as argument
- L44, etc: We want the expressions to be appended literally