Separate the btree maximum key/value sizes from the underlying page size

Separate the btree maximum key/value sizes from the underlying page size, reference #1282.

It's still a pretty painful chunk of stuff to write -- up to you, though, I wouldn't fight you on it.