Get rowdata encoding from TInstance

Once again, this is designed to be absolutely compatible, blob-related bugs and all, with the existing scheme.

Encoding don't actually do encoding so much as (broken) index max size computation, and, as a result, there are fewer of them than the existing API suggests.

And, like before, there is a flag to check that every FieldDef's encoding matches what the new one would give (while not yet using that one).

In the process, I moved server.encoding to server.rowdata.encoding to make its scope more evident going forward as we phase out RowData.