run_tests uses subprocess to avoid os.system related bugs

run_tests now leverages the subprocess module for more robust calls to the symbolic execution engine. For example, the previous code snippet would not encapsulate paths that contained a space, failing to run the tests.

Additionally, an out file is no longer written. It is unclear if that was on purpose but given that execution of tests continues until competition most of the outputs are quickly overwritten.