Fix idle time in timeout case

After switch from classess to instance of scenario classes we
stopped storeing idle time in cls. So in case of timeout, code like:
> cls.idle_time will produce error

Change-Id: I54b6f87a45560b0c98ce6eeb60d27decfa06ad5b
Closes-bug: #1275724
Add timer for atomic actions

Execution time is now measured for atomic actions, so we have time
measuring for the whole benchmark and also detailed for each atomic
action.

Added the decorator atomic_action_timer and used it in nova, cinder
and keystone scenarios.

Partially implements: blueprint time-measuring-of-atomic-actions
(Part "I) Core" of time-measuring-of-atomic-actions)

Change-Id: I99571ef1221757784ce2b85889ad989fcae05bb2
Fix benchmark.utils.get_from_manager()

* get_from_manager() method should raise exception in case of
unexisting resources. So we will be able to handle this in proper
way and avoid __getitem__ exception.

* Add rally.utils.wait_for_delete() that will update resource
unit it raise excetpion (not found).

* Use rally.utils.wait_for_delete() in all methods that delete
resources

* Add part of missing tests for benchmark.utils methods

Change-Id: If9fed2418c61de9f18023b2d2cc1fd81673d9379
Closes-Bug: #1269307
Sshutils refactoring

Paramiko sftp client is not eventlet friendly. Also it doesn't work
with some servers, so upload/download methods has been removed.
Downloading or uploading can be done in other way (see examples).

Added ability to pass process stdin, which makes possible to
do on remote host anything at all.

Much more clean and usable API.

Change-Id: If357a2878c2c60646a975c386a0fe2f1616aec95
Add rally use command - part 2

This completes the behaviour of the 'rally use' command.
when the command is called, it creates a file called openrc-{deployid}
in ~/.rally/ which contains instructions to export deployment specific
environment variables

It also creates a symlink ~/.rally/openrc that refers to the latest
deployment called with 'rally use'

It becomes simple to just do 'source ~/.rally/openrc' and then
'nova list'

Implements blueprint: rally-use-command

Change-Id: I51ddfdbf7b8ab41b5b26685dd7b671468d306fe1
Merge "Sshutils refactoring"
Add display of atomic actions timer in CLI

Added a prettytable that prints detailed information about the
execution time of each atomic action.

Implements: blueprint time-measuring-of-atomic-actions
(Part "II) CLI" of time-measuring-of-atomic-actions)

Change-Id: I1558d324a92063db3bd3d09d67b0635b93390107
Remove magic numbers from benchmark utils

There are many hardcoded values for sleep, timeout and poll interval in
benchmark.*.utils. This patch adds oslo config options for all of them.

Change-Id: I7ddf6244ab87e748bb2daf6502db56df13034168
Trello: https://trello.com/c/aIcMrSPM