Convert run_tests.sh to a Python script (#498)

Replaces run_tests.sh with run_tests.py for long term maintablility.
The download() call doesn't return anything at the moment. So destination will be None.