Potential bug fixes on shell scripts
- Use $(..) instead of legacy `..`.
- Double quote to prevent globbing and word splitting.
- Redirecting `echo` output to `stderr`.
- Checking if `flake8`, `cpplint` and `isort` Python modules are installed.
- Using 'cd ... || exit' or 'cd ... || return' in case cd fails.
- Double quote to prevent globbing and word splitting.
- The use of > is for string comparisons. Using `-gt` instead.
- [Useless Use Of Cat](https://en.wikipedia.org/wiki/Cat_(Unix)#Useless_use_of_cat)
- Using echo -e "\n", instead of echo ""
- Using `find` instead of `ls` to better handle non-alphanumeric filenames

Signed-off-by: Mpho Mphego <mpho112@gmail.com>
