Add support for aggregation counters in the profile

The profile can be configured to keep track of aggregation counters for
methods and classes.

On device, this is particular useful for the boot image profile. When
aggregating multiple profiles into one and keep track of counters we can
tell:
1. how many times we aggregated a method or a class. This tells us how
popular is a particular method or class amongst the apps.
2. how many times we aggregated the profile. This tells how many apps
contributed to the profile (on a single device).

NOTE: This expands the memory footprint and makes the aggregation slower.
As such it is disabled by default and not intended to use for the regular
profiling path of apps in prod.

Test: profile_compilation_info_test, profile_assistant_test
Bug: 112617266

Change-Id: I731abf31f65b12bf405c77fb7803bb0bda3b9908
7 files changed