Implement context-preserving thread

Add threading back to toplevel
Timeout message is too verbose after fixing thread context, when using .interactive()
Fixed regression in local copy
Copy context to avoid secondary effects of scoping affecting the thread
Merge pull request #124 from zachriggle/context-threaded

Implement context-preserving threads