simpleperf: support kernel etm data in inject cmd.

1. Refactor KernelDso class to handle kernel address randomization.
2. Add Dso::IpToFileOffset() to convert ip addresses to file offsets,
   and use special operation for KernelDso.
3. Search for vmlinux in symbol dirs.
4. Delay creating KernelDso to use the kernel build id in recording
   files.

Bug: 172933381
Test: run simpleperf_unit_test
Test: run `simpleperf inject` manually to inject kernel etm data.
Change-Id: Ice7f465a6f1e870740cc8ceaf8da76220026adef
9 files changed