Add ability to compare two verification results

Currently there is no built-in way in Rally to see the differences
between two verification runs. This feature adds a compare sub-command
to rally verify that takes two verification IDs as input and output the
differences between two verifications in the desired format, html, csv,
json or pprint. Output may be printed to std out or directed to file
destination specified.

Tasks
- Add compare sub-command to rally verify.
- Add ability to specify output format and file name of comparison
  report.
  Initial support will allow for output to either HTML, pretty print
  or CSV.
- Create rally/verification/verifiers/tempest/diff.py that handles all
  the comparing and output of results.
- Create required mako template (compare.mako) and renderer
  (compare2html.py) class for HTML output.
- Added percentage threshold argument for determining execution time
  differences

Change-Id: I0276e431d7d1ad89b1b28306cd0e0ea7e1174217
Implements: blueprint tempest-compare
Sahara Cluster scaling benchmark

The benchmark allows to test Sahara Cluster up and down scaling
operations.

Change-Id: Ibad76f0afbf5acf60b94c8cdd85a2b2aa667a117
Jobs with scaling benchmark

The combination of Cluster scaling and Job sequence execution.

Change-Id: I682b4daed17abea0e37ad9f67a41946932f2dc21
Merge "Sahara Cluster scaling benchmark"
Merge "Jobs with scaling benchmark"
Fixes fakes and adds version param

This patch changes the fakes interface in order to fit
better with Zaqar's client and adds the version parameter
to initialization for a more flexible benchmarking.

Change-Id: I0a12562cfa4f7a7e1bcff35f95c59e12368e7fdf
Simplify and improve "rally info"

1. Typing "rally info list" now results in a list of entities available in Rally:

    $ rally info list
    Benchmark scenario groups:
    ----------------------------------------------------------------------------------
     Name                       Description
    ----------------------------------------------------------------------------------
     Authenticate               This class should contain authentication mechanism.
     CeilometerAlarms           ...

    ...

   The same info appears on just "rally info" (we've monkey-patched InfoCommands
   docstring to achieve this).

2. "rally info find" called for benchmark scenario groups now prints a list of benchmark
   scenarios available there with short descriptions.

    $ rally info find NovaServers
    NovaServers (benchmark scenario group).

    Benchmark scenarios:
    --------------------------------------------------------------------------------
     Name                                             Description
    --------------------------------------------------------------------------------
     NovaServers.boot_and_bounce_server               Test booting a server (...)
     NovaServers.boot_and_delete_server               Tests booting and then (...)
     NovaServers.boot_and_list_server                 Tests booting an image (...)

3. Minor local code & UTs improvements

Change-Id: Ib954796245d12ee0aed793984233c3d36ad24ad5
Merge "Fixes fakes and adds version param"
Merge "Simplify and improve "rally info""
Adds Zaqar Basic scenarios

This scenarios benchmarks the queue creation using
a constant runner.

Change-Id: I3e24871d8d2459f2fb653e3b6a76174a0d47b77d
Merge "Adds Zaqar Basic scenarios"
Modify rally commands deployment, task, and verify

Small modifications to the rally commands 'deployment', 'task', and
'verify'.
In deployment, rename the subcommand endpoint to show, and remove
the pprint and json output options in subcommand config in favor of
pretty-printed json output only.
In task, perform the same in subcommand results as in config.
In verify, perform the same in subcommand results as in config.

Change-Id: I9686abf5088782e68111638da10be72c0e1135fa
Improve HTML report

In this patch:
  * responsive behavior of task report is changed:
    now we have minimal width with scroll bars
    and scenarios list is always on left side
  * `bootstrap' framework css is removed - now its responsive grid
    is useless, so other styles were reimplemented
  * AngularJS, D3, NVD3 updated to recent versions
  * Current tab is now a part of URL hash
  * Expanding arrows are added on scenarios list
  * Table row with `total' values is highlighted and always last
  * Chart scope ends correctly on large count of iterations - e.g. if last
    value is 1200 and limit is 1000, then scope ends with 1200, not 1000
  * Fix: more accurate histograms calculation

Change-Id: Ie9ed98443a7f2163bc5fbf0d416b9bda8c5b3b6f
Fix rally plugins

Fix the world removing extra plugin load in
rally.benchmark.__init__ module

Make logging more reasonable

Change-Id: I338fa8c420628e12744f075a44e21c4874262a55
Closes-bug: #1387192
Enhance rally info

* Add "rally info BenchmarkScenario", "rally info DeployEgnine" etc.
* Simplify the default "rally info" output
* Add SLA support

Change-Id: I85259e7cf61b2b435b416b9618064f8ec22fe778
Fix 2 typos and 2 invalid links in doc

Change-Id: Id08449f0beacc33687284f6766cfdc80f62dfc5d
Merge "Enhance rally info"
Updated from global requirements

Change-Id: I571cda006deceac553d75a7f60e6bb3b4129b058
Updated from global requirements

Change-Id: I5840fce83406973cb45d95a667256eb1472ad7ba
Merge "Add ability to compare two verification results"