Add a separate class for a mutable JSONEncodedDict

This patch introduces a separate class for mutable version of
JSONEncodedDict.

Change-Id: Ia665097b4c5b68a65b5c11bcc63e2b6c3aeadd83
Introduce the Endpoint object

Here we introduce the Endpoint object which replaces the dictionaries in deploy
engines and thus make it more difficult to make errors while writing code.

Change-Id: Id068280f91a4c9df2c1e764e9eda0163190a5fad
Fix CLI output on task detailed command

Change the output of the detailed command when this one is called
with a non-existing id. Instead of having an error stacktrace, we now
have a message saying "The task %s can not be found"

Change-Id: I889831b0efeba451df429680007bae52987e8271
Closes-Bug: #1270153
Added missing test for rally.cmd.main.task.results

Unit test for ‘results’ method in TaskCommands class was missing
followed advices from Ilya Kharin

Change-Id: I5a4f110933d855994172716b3607b0ef5e24599f
Merge "Introduce the Endpoint object"
Merge "Added missing test for rally.cmd.main.task.results"
Add management of unauthorized keystone exceptions

  * Raise InvalidEnpointsException if the endpoint properties are wrong
  * Raise InvalidAdminException if the user is not admin
  * Print a specific message to the user if they are in this case
  * Remove the stacktrace if the user encounter a InvalidArgumentException

Change-Id: I4659795924de57de1a58cec42f0d58c34b81c661
Closes-Bug: #1270209
Merge "Add a separate class for a mutable JSONEncodedDict"
Merge "Add management of unauthorized keystone exceptions"
Create rally deployment from OS_* environment variables

This saves users from creating dummy config json files when they already
have an openrc for use with the other openstack clients.

Change-Id: I487af60e0c6a5eadfc12f04fbba9c4a4186740e0
Trello: https://trello.com/c/5ZkMb9zL