No subprocess call

Add option to use os.system rather than subprocess.check_call when compiling code.  Seems to be more robust to failures on ARCHER.
If you raise `CalledProcessError` above it's sufficient to catch that here.