Simplify how files are ignored.
Make modification of .bashrc idempotent.
Minor formatting tweak
Allow setup_linux.py to run outside of dir.

Also Move all functionality into a function.