Convert to using StreamHandler instead of Pickler object. Memory leak here could be solved by clearing the memo occasionally, but the Unpickler in the main RIDE process doesn't have that luxury without a separate message to tell it the memo was cleared and it should destroy and recreate the Unpickler instance. StreamHandler is much cleaner anyway, and talks JSON for somewhat cleaner integration if someone wants to reimplement TestRunnerAgent in a language other than python.