perf: Improve support for uncore JSON event lists

From: Andi Kleen
Date: Fri Mar 10 2017 - 16:25:25 EST

This patch kit further improves support for Intel uncore events in
the Linux perf user tool. The basic support has been already
merged earlier, but this makes it nicer to use.

- Collapse counts from duplicated boxes to make the output
easier to read.
- Support specifying events for multiple duplicated boxes
in an abbreviated format to shorten event specifiers
- Add support for computing Metrics defined in the event lists,
so that the event lists can extend the metrics in perf stat.
This allows to represent many events in an easier to understand

Available from

git:// perf/builtin-json-29

v1: Initial post after being split off to own patchkit
Adding MetricName support and support for more than two events
in expressions.

v2: Address review comments. Move new hunk from refactor
patchkit to patch adding new features. Improve changelogs

v3: Rebased on latest tip tree.
Split some patches based on review feedback.
Add event list changes for MetricName
Move extra printing in perf list to new option
Improve descriptions
Cleanups based on code review.