Minimal changes to make "set -e" workable

Previously sourcing assert.sh in a "set -e" shell would cause the shell
to exit with no messages printed.
merged neerolyte:set_e