Split memory management

Some attempts to address #1079 -- just for discussion at this point.
I figured out it's because `WT_ALLOC_OVERHEAD` was `32` (an `int`).  That caused `addr->size` to be implicitly "promoted" from `uint8_t` to `int`, leading to the warning.  I've changed it to `32U`.