Use Row instead of RowData during writes

https://trello.com/c/jkRVZuZn - Phase 3 - Update `StoreAdapter` and `Store` DML path (write/update/delete) to use `Row` (and subclasses), not `RowData` and `RowDef`. Most of the changes are in `AbstractStore`, and all of the previous `RowData` code paths are still in the code. 

There are still two places which require them: The KeyUpdate IT tests and the `StoreIndexStatistics#removeStatistics`. Both of these require the read side of `Store` to be updated, which is going to be the next release. 

At the bottom layer (`StoreDescription` and subclasses), which does the final conversion of `Row` to the correct storage format has been expanded. There are still some Unsupported exception on the read (e.g. expandRow), which will be fleshed out in the next release. 

There are two other big, somewhat unrelated, changes:

1. The use of `Column#autoIncrement`, a MySQL addition and unused by the current code, has been removed. This cascaded through several parts of the AIS. It still exists in the Protobuf AIS description for the column, just never set or read. 

2. The were two classes `ValuesRow` and `ValuesHolderRow` which were just about identical. So I selected the later, and deleted the former. 

The use of `ColumnSelector` for the `AbstractStore#updateRow` has been removed for new Row based code. This is another MySQL-unused code path. The subtle consequence is UpdateRow assumes/requires the oldRow to be complete (includes all columns). This isn't a problem for the `Update_Default` path. It affects only one test in `BasicKeyUpdateIT`, which has been disabled. 

I think getAISColumn() can return `null`.