Enforce key length constraint of 4096 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.
Can engine. KeyMax be used as an actual key? 

If not, we'd better to add a validation here.
If yet, i wonder some of our mvcc/engine code won't work for it. We'd better to add test cases.