simpleperf: add MapLocator for etm decoding.

Add MapLocator as a packet callback. It is then used
to find maps in MemAccess and InstrRangeParser.

MapLocator uses a separate cache for each trace id.
It also fix a bug that let a kernel map override
following user maps.

Bug: 153039105
Test: run simpleperf_unit_test.

Change-Id: Ic285f81ac05c3e65b481fb97a5355282639692e4
Merged-In: Ic285f81ac05c3e65b481fb97a5355282639692e4
(cherry picked from commit 418ba0d37570172c4ee5e24fc452b3a5ef9ae665)
3 files changed