tablex: Add deep & shallow for copy, overlay; remove redundant recursion; add tests
Run luacheck on CI to catch subtle errors. Add a luacheckrc that ensures current code issues no warnings. We should eventually try to remove many of these ignores.
Run tests on CI so they're useful for catching errors in PRs.