* Add a maximum copy depth of 30.
* Add stack overflow checks.
Value copying now uses a cache table to detect when multiple references
to the same table is being copied from one lua_State to another.
You can now pass in table objects as the parameters or return values for
a thread. The contents of the table must themselves be objects that can
be passed into threads. So (for instance), arbitrarily nested tables of
normal numbers and strings are fine. But you still can't pass in a
function or a heavy userdata.