trace: make 'status' command print time ranges for each CPU

Each CPU has an independent trace buffer and the time ranges for each
CPU can drift apart. This is a useful information.

Example:

$ trace status
Collected 126412 samples spanning 490.59 ms

Time ranges:

  CPU 0x07:  8491.076312715 - 8491.566654742 =  490.34 ms
  CPU 0x05:  8491.141218471 - 8491.566898049 =  425.68 ms
  CPU 0x06:  8491.183973423 - 8491.566506406 =  382.53 ms
  CPU 0x00:  8491.296960376 - 8491.566879656 =  269.92 ms
  CPU 0x01:  8491.325686399 - 8491.566878958 =  241.19 ms
  CPU 0x03:  8491.345375696 - 8491.566899815 =  221.52 ms
  CPU 0x04:  8491.360735410 - 8491.566881841 =  206.15 ms
  CPU 0x02:  8491.377589381 - 8491.566895689 =  189.31 ms

...

Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
trace: add sched_idle/sched_idle_ret tracepoints

Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>
trace: add prof-idle command

It's like prof-wait but only for idle periods.

Signed-off-by: Tomasz Grabiec <tgrabiec@cloudius-systems.com>
Signed-off-by: Pekka Enberg <penberg@cloudius-systems.com>