libs/utils/test: add base class for experiments execution
libs/utils/test: add base class for experiments execution

Most of the LISA tests requires the execution of a set of experiments to
collect traces required for the tests. The execution engine provided
by libs/utils/executor provides the minimal code to run a pre-configured
set of experiments, but still we need some glue code to configure the
executor as well as (eventually) post-process their results.

This patch adds a python unittest based class which provides:
1. the glue code to load a tests configuration and check its conformance
   with the executor engine
2. execute the tests

This base class adds support also for the definition of a pre-defined set
of testing callbacks. A test writer can thus easily extends a LISA test
by specifying code to be run:
 a) before experiments execution (LisaTest::_experimentsInit)
 b) after experiments have completed (LisaTest::_experimentsFinalize)
Configuration checking (LisaTest::_checkConf) and experiments execution
(LisaTest::_runExperiments) are also methods which can be eventually
re-defined by a specif test instance.

Signed-off-by: Patrick Bellasi <431c86f368affbc3148c4669fbd465131f7e82cb@arm.com>

bjackman/lisa,joelagnel/lisa,arnoldlu/lisa,ARM-software/lisa,credp/lisa,ARM-software/lisa,JaviMerino/lisa,arnoldlu/lisa,ARM-software/lisa,ARM-software/lisa,joelagnel/lisa,credp/lisa,bjackman/lisa,credp/lisa,credp/lisa,mdigiorgio/lisa,mdigiorgio/lisa