Refactor the way benchmark engine returns its results

This patch adds the 'idle_time' parameter to all dictionaries that the
benchmark engine may return as its result in different places of code
(so that the output format is always the same). Here we also remove
several redundant except clauses which are not likely to be ever entered
and also slightly refactor the _run_scenario_loop method to avoid code
duplicate.

Blueprint benchmark-engine-refactoring

Change-Id: I15d5dd8e1d2035174cbc0c13a5558a7c6ffce300
Benchmark scenarios for Rally: run task in instance

This patch allows a user to define a scenario where Nova instances are
created, then a script which outputs arbitrary JSON is run, and then the
instance is destroyed.

This allows tests/benchmarks from the instance perspective, as well as
from OS APIs.

blueprint benchmark-scenarios

Change-Id: I4b1f77f5f8c55fe1da41b6ab0b23eb03303ba95f