Implement ScenarioRunner execution types via inheritance

To avoid the complicated IFs logic in _run_scenario, we split the original
ScenarioRunner class into subclasses that implement the concrete execution
logic: ContinuousScenarioRunner and PeriodicScenario. To automatically choose
the approaprite subclass, we implement the factory logic in the base
ScenarioRunner class, similarly to that in the deploy.engine.EngineFactory.

Implements: Blueprint scenario-runner-refactoring

Change-Id: I64b6a909f71b89d97d7005bbfbb3b74856c19a0b
Merge "Implement ScenarioRunner execution types via inheritance"