Bytes_moved accounting fix and accounting cleanup

Bytes_moved should be incremented by the correct number of bytes needed
for the space the object is allocated in, not the number of bytes it
would take in region space.

Various minor cleanups for code that I found hard to read while
attempting to track this down.

Remove a CHECK that held only because of the incorrect accounting.
It now results in TreeHugger test failures.

Bug: 79921586
Test: Build and boot AOSP.
Change-Id: Iab75d271eb5b9812a127e708cf6b567d0c4c16f1
7 files changed