Perf: avoid dupes add fallback logic for coders

This had a pretty significant perf improvement, will run numbers tomorrow and add to the ticket, it changes semantics of @column_hash , nonetheless all the tests seem to pass.

It avoids fairly significant repetitive copies of columns in a table on each instance. If this is found to be safe its a strong candidate for backport into 4.0.