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.
While have a limit is good, this seems fairly low. Is there any associated rationale you can provide (in comments) for the setting of this limit? For example, bigtable had a maximum row size because certain operations required the entire row to be in memory.