Improve task_lint.sh robustness (#2711)
* [SCRIPT] Refactor grep for multiple patterns
Tidy up the use of grep. Use -E rather than run multiple grep
instances.
* [SCRIPT] Refactor grep use in pipeline.
Prefer to use stdin redirection rather than create a pipeline.
* [SCRIPT] Refactor placement and cleanup of temporary files.
Place temporary files in the conventional /tmp location. Avoid
poisoning file name space by using $$. Ensure the temporary files get
cleaned up, even when the script fails / exits early.
* [SCRIPT] Improve robustness of task_lint.sh error handling.
Ensure script failures are caught and propagated. Rather than trying
to explicitly catch and propagate failures with explicit "|| exit"
annotations, use the "set -e" idom from docker/install scripts and
have the shell catch and propagate errors in the general case and
special case the grep instances where non zero exit is permitted and
should be ignored.