Made it possible to use digiline:tablecopy for replacing items in tables while copying them.

To use this replacement feature, pass a table into the `seen` parameter whose value is such that `seen[original] == replacement`.  The `seen` table will get filled with `seen[original] == copy` entries for everything else in the table - pass in a copy if you want to keep the original (or reconstruct the table every time).
Fixed last commit.