Enforce key length constraint of 2048 bytes.

Aside from needing to enforce a constraint of some sort, this change
allows us to definitively specify KeyMax, removing the previous requirement
that keys stored in the map couldn't start with \xff.
Yes, I realize this is the max key size and not max row size. But why should there any particular max that is not tied to a real limitation of the system? Does the key length have to fit in some particular number of bits? Does going from a 2048 byte key to a 2049 byte key cause any appreciable slowdown? Does there need to be a limit in order to cap the max memory usage for some operation (that was the bigtable rationale for a row size limit)? Does there need to be a limit in order to enforce some other limit in the system (e.g. key length <= row length <= max range size)?