simpleperf: sync JIT debug info with records.

To save time, simpleperf doesn't check JIT debug info update each time
unwinding a sample. Instead, it checks JIT debug info update every
100ms. So some samples (about 1%) can be failed to unwind because of
lacking the latest JIT debug info.

This patch fixes it by using monotonic timestamps to sync JIT debug info
and samples. It contains below changes:
1. Use monotonic timestamp for records by default if that is supported.
2. Add a priority queue in JITDebugReader to sort existing JIT debug
info by timestamp. Each time reading new JIT debug info from remote
processes, it is put in the queue.
3. Each time processing a record, JITDebugReader flushes all debug info
in the queue generated before the record. So a record only sees JIT
debug info generated before it.
4. If unwinding a sample fails because of incomplete JIT debug info,
read newest debug info from the process and retry unwinding.

Bug: 110923759
Test: run simpleperf manually and check no unwinding fails because
Test: of lacking the latest JIT debug info.

Change-Id: I769b72a3345f917e5c0f9a9936d19bca536e1153
6 files changed