Add tenant isolation for scenario tests

Currently the scenario tests have a race condition between tests
that create a new security group rule to allow ssh on the default
security group. A security group rule can only be added to the same
security group once and when running tempest in parallel this
will cause a possible error because the scenario tests were running
in the same tenant which have the same default security group. This
commit fixes this by adding tenant isolation to the scenario tests
so that each scenario test will have it's own tenant and thus it's
own default security group.

To add tenant isolation for the scenario tests and use the official
python clients without duplicating code the isolated_credential code
was broken out as a separate class in a new file in tempest/common.
This class will either use the tempest identity client or
python-keystone client depending on whether it for an api test or a
scenario test.

Part of blueprint speed-up-tempest

Change-Id: Icaffd0c40f55d94014ab4758b392bf5c38f0b0f6