rts/posix: Enforce iteration limit on heap reservation logic
Previously when the OS gave us an address space reservation in low
memory we would immediately release it and try again. However, on some
platforms this meant that we would get the same allocation again in the
next iteration (since mmap's hint argument is just that, a hint).
Instead we now hold on to low reservations until we have found a suitable heap reservation. We also now enforce an iteration limit.
Fixes #26151 (closed).