Implement memory-mapped ExecutionData class.

This allows apps to write coverage to disk during execution and not
require any flushing mechanism in order to collect coverage. The results
will be left in /data/misc/trace/jacoco-*.mm.ec and can be collected
later for coverage analysis. These .mm.ec files conform to the current
exec file format and can be loaded with the command-line tool.

Test: m -j EMMA_INSTRUMENT=true EMMA_INSTRUMENT_FRAMEWORK=true and
generate coverage report from /data/misc/trace
Bug: 147904124

Change-Id: If08492405b86a063ae714c259a2fb954bc5aa946
2 files changed