Address memory leak in AppStartInfoTracker

Records were cleared for all error cases, but for success they were only cleared if it reached fully drawn.
This is an issue for 2 reasons:
- fully drawn is not required, so there are success cases where the in prog record is never removed.
- it's just not very robust

To fix this, add logic to ensure that the in progress list doesn't exceed a max size, and that removals are
done of oldest records first.

Also refactors some namings and test details, and adds a new test.

Bug: 342282017
Test: run new test, add logging and confirm correct records are cleared
Flag: EXEMPT - day-to-day bugfix
Change-Id: I2e542e44080cbc9910703a9c3227e344ae4f005f
2 files changed