Input scenario capability for tempest

Adding the ability to generate multiple tests from
a template one based on input scenarios.
The implementation is based on testscenarios (added
to requirements.txt), and the correct behaviour
could be verified using unittest or testr + subunit,
both serial and parallel runs.

The generation of the array / matrix of tests relies
on the load_test protocol. nosetests does not implement
the protocol by default.

Static scenarios can be added to any tests with very
little effort. This commit introduces a couple of
dynamic scenarios:
- all flavours matching a configurable regex
- all images matching a configurable regex

Dynamic scenarios are coded in test_utils, and provided
by InputScenarioUtils. The class includes in the doc
an example on how to use input scenarios.

Additional scenarios could be AZs, or credentials.

This commit adapts existing test_server_basic_ops
to use input scenarios, and include server
ssh verification.

This change implements blueprint input-scenarios-for-scenario.
Implements: blueprint input-scenarios-for-scenario

Change-Id: Ia86f48772ac02d67faa1c7d764cb9dc0938f6452
Merge "Input scenario capability for tempest"