Moved context creation to benchmark.engine

Before this patch, context was created in benchmark.runner
base. This patch moved context creation to benchmark.engine.

This change makes the architecture of Rally much cleaner.
e.g. runners don't know anything about benchmark context
(removing one dependency in code)

In addition, getting named meta information from benchmark.
scenarios.base will return a deepcopy to prevent accidental
changes of the returned object.

Change-Id: I18277e6759a27ed0ec221620b2963cc35bdc2c32
Merge "Moved context creation to benchmark.engine"