arena_allocator/reset: avoid zero-capacity allocations

1. When the arena is already empty, resetting with `retain_capacity` no longer
   results in allocating a buffer with zero capacity.
   This behavior was previously intended by the `(current_capacity == 0)` check,
   but wasn't correctly implemented.

2. Resetting with `.{ .retain_with_limit = 0 }` is now equivalent to
   `free_all` and a new buffer with zero capacity is no longer created.
   This is a useful side-effect of the above fixes.
89bd29a905Erik Arvstedt committed on 6/13/2023, 7:48:51 AMparent5d3c8f4
1 file changedLine totals unavailable