Roll out the test fetcher on push tests
# What does this PR do?

This PR rolls out the test_fetcher script on the merged PR in master, making it so that:
- circleCI only runs the tests that are affected by the diff between the master branch and the last commit
- non slow single and multi GPU tests only runs the tests that are affected by the diff between the master branch and the last commit

The last thing to add is a scheduled job to run all those tests daily to make sure we don't miss anything.