Use lowercase variable names in bin/build.sh

To prevent naming-collisions, uppercase variables are conventionally
reserved for environment and shell-provided variables.
Modify check-home-bin for convention

* Use [[ built-in consistently
* Move component to just before the task that needs it in Manifest
Avoid sourcing zshrc, manually fix environment

Remove `echo "\n"` usage which is not consistent across shells.
Whitespace and style changes

* Use `if condition; then` for consistency
* Prefer curl over wget for consistency
* Break long lines
Remove zsh-ism, fix logic error

Use more portable `which` command. The condition was also backwards.
Use bash shebang
Remove linux-prerequisite, use bash in test/runner
Set zsh as shell in both scripts
Remove deprecated use of backtick and expr
Update README
Build compiled scripts
Update test runner assertions

Recent vagrant is adding invisible control characters to the output of
`vagrant ssh -c` commands. This was breaking the string comparisons.
Invoking the conditional directly in the VM and checking the exit status
is more robust.