arena: fix out-of-bounds access from the arena chunk resize.
arena: fix out-of-bounds access from the arena chunk resize.

The arena code makes allocation entries resize themselves to fit the
allocated data as closely as possible. In some cases, the remaining size
would not be enough for the next entry metadata to be allocated, which
would of course cause a segmentation fault when trying to initialize it.

To address that, we initialize a sentinel at the end of the arena, which
takes the form of an allocation entry of size 0. As a bonus, this makes
iteration more straightforward as it becomes sufficient to compare the
current entry pointer to the address of the sentinel.

Snaipe/BoxFort,diacritic/BoxFort,diacritic/BoxFort,Snaipe/BoxFort,diacritic/BoxFort,diacritic/BoxFort,Snaipe/BoxFort,Snaipe/BoxFort