Error rather than sorting too man values in memory.

We already do this with the old form of order_by but we can get in to
this same situation with indexed order_by if there's a secondary index
with over 1000000 sindex values with a very long common prefix. This is
an unlikely situation but still we handle it.
Don't mix items with different truncated keys.

Before if we got back consecutive items with truncated but different
secondary keys we would put them all in the sorting buffer and sort them
inefficiently all together. This had the problem of being inefficient
and also could lead to hitting the in memory sorting limit when it
shouldn't.