ivle.interpret.execute_raw() no longer breaks with lots of data.
Previously we uses subprocess' wait(), which doesn't empty the stdout pipe. It filled up, causing the child to block. We now use communicate() instead, which select()s and reads the pipes to unblock things.