Updated unittests to use SetUpClass where appropriate

This means certain unittests will only setup the test environment once
per unittest class instead of for each test within that class.

This improves performence of tests slightly

Python shebangs now correctly call python2 via env