Merge remote-tracking branch 'github/master' into Store-read-no-RowData
Partial, untested, commit needed to go fix other problems.
Merge remote-tracking branch 'github/master' into Store-read-no-RowData
Merge remote-tracking branch 'github/master' into Store-read-no-RowData
Get all of the store.format.* Tests to pass with the updates provided
for doing non-RowData conversion to row from various formats during a
read.
Update the qp/ITs to no longer each generate their own copy of the
rowtype Schema from the ais. The storage layer now relies upon the
having the RowType match from top to bottom, and not doing this causes
several tests to fail, mostly because the operators in use have a
`RowType1 == RowType2` check for matching rows from a table.
The great Schema purge. 

As the code moves toward relying more on RowType, remove a number of
places caching the row type schema, especially in the StoreAdpater. 

In some cases this schema was used as a shortcut to get the AIS, for
which I've added the storeAdapter.getAIS() to resolve. In other it's
easier to use SchemaCache.getGlobalSchema() which in turn retrives it
from the AIS where it is kept. 

Unit tests pass, but no attempt to run ITs yet.
Merge remote-tracking branch 'github/master' into Store-read-no-RowData

Conflicts:
	fdb-sql-layer-core/src/main/java/com/foundationdb/server/store/OnlineHelper.java
	fdb-sql-layer-core/src/test/java/com/foundationdb/server/test/it/qp/BoxTableIndexScanIT.java
Fix my broken assert causing tests to fail.
Rebuild the setup for Intersect_Ordered_BigIntIntIT to use
OperatorITBase, which allows setting up the AIS and Schema correctly.
The previous simple fix for having the MemoryAdapter include getting the
AIS was to simply add that to the class. This had the unfortunate side
effect of trying to (during tests) load an AIS when none was needed or
existed. So remove the AIS from the MemoryAdapter, convert everything
that may have needed it to getting it from somewhere else.
Convert the getIndexCursor processing to pass the IndexRowType, not the
Index, as that is all that is needed to correctly run the IndexCursors. 

Discovered I'm being too aggressive with the getting the RowType schema
from the latest AIS in store. During DDL I need to use the older schema
to interpret rows correctly from the old table to transform into the new
table. Correcting this requires passing the Schema down into the
StorageDescription layer.
Merge remote-tracking branch 'github/master' into Store-read-no-RowData
Add UUID type to the ValueSources conversion.
Update the PersistitGroupCursor to use the new expandRow() interfaces. 

This in turn requires PersistitStore and PersistitStorageDescription to
implement the expandRow. 

This in turn requires the addition of RowValueEncoder() to encode/decode
the ValuesHolderRow to the PersistitValue. Added a test for this last
one. 

The PersistitStorageDescription, for the Row processing no longer
encodes the row as a RowData, instead the data is encoded/decoded as
separate values in the Value. No more RowData along that path. 

Testing still needs to occur to verify this is correct.
Get the Persistit side of the no-row-data processing working by pushing
the conversion of the Row -> RowData into the
PersistitStorageDescription. 

This reverses the previous use of the RowValueCoder to encode/decode
values.
Fix the TBigDecimal type to perform self-cast to a smaller (or large)
values correctly.
Address one minor concern with the VARBinary classes and types casting.
Add tests to verify types work correctly.
Update the error message to match the other place that does truncation
of [VAR]BINARY fields to get the same message out both times.
Fix the IndexStatistics to use Row/RowType.