Diffing and patching for Lua tables