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
Merged-In: Iab75d271eb5b9812a127e708cf6b567d0c4c16f1
(cherry picked from commit a253c2d27bb95f120a27dc3fa8a66184a15a7442)
7 files changed