Implement cyclic region allocation in ART's region space.

This region allocation strategy tries to allocate new regions
instead of reusing previously freed regions. The intent is to
minimize region reuse to try to catch some GC bugs earlier.

This region allocation behavior is only turned on in debug mode.

Test: art/test.py
Test: Device boot test with libartd
Bug: 74064045
Change-Id: I76442bc65f9fa8cc2f5f67e6584f7fd73869d98e
3 files changed