lisa.tests.scheduler.load_tracking: Introduce @property def cpus() in class InvarianceItemBase
lisa.tests.scheduler.load_tracking: Introduce @property def cpus() in class InvarianceItemBase

`cpus = trace.analysis.tasks.cpus_of_tasks()` (1) can't be used to get
the trace signal in the RqInvariance tests. `cpus` is created over the
un-cropped task trace, i.e. it might contain a CPU on which the task
was executing before rt-app could apply the taskset command on it.
This would lead to the fact that the CPU util signal comes from this
CPU as well which lets the test fail.

Introduce `@property def cpus()` (2) in class InvarianceItemBase to be
able to get the `pinned_cpus` used by the RTapp workload.
Use the asserted (len(cpus) == 1) result of (2) to get the trace signal
of the invariance item. Continue to use (1) to get the capacity of the
cpus.

This fixes RqInvariance test failures seeing on juno-r2 and sd845
(1 out of 25 tests failed on one OPP).

Example on juno-r2:

Before:
    1@600000:
    	...
        max error: 99.86727576622783 %
   	...
After:
     1@600000:
        ...
        max error: 0.8225020995934196 %
	....

Signed-off-by: Dietmar Eggemann <b09ca079358248c3ff5bd91ea3781c6808cc6cf2@arm.com>

credp/lisa,credp/lisa,ARM-software/lisa,credp/lisa,ARM-software/lisa,ARM-software/lisa,credp/lisa,ARM-software/lisa