Add required_contexts validator

Add a validator that checks if a benchmark scenario has defined in its
configuration file the context(s) that it requires to run first.

Example:
@validation.required_contexts("context1", "context2")
def benchmark_scenario():
  pass

Change-Id: Id83a6ff93acde2abbb29ec8351210e38d725ce48