Benchmark test framework for Rally

This patch introduces the benchmark test framework for rally. The presented
framework relies heavily on the usage of test configuration files which allow
to set up which tests should be run in which order and how many times, as well
as parameterize them (e.g., to configure, say, the number of compute nodes used
in load testing). The test configuration also allows to set whether the
benchmark tests should be launched concurrently in several threads.

Test configuration processing is provided by the further development of
TestEngine, which now also can validate the test configuration passed to its
constructor.

The patch also contains some refactoring of the Tester class which makes it
configurable through the test configuration. This functionality is supported
by the TestConfigManager class, another child class of the base ConfigManager
defined in one of the previous patches.

Blueprint test-engine
Change-Id: Idd1296537d5a65c0b353ee9812d2e360d3c8ea39