Updating HACKING with some test writing recommendations

Adds a recommendation against submitting changesets with only
skipped tests and some recommendations for writing tests.

Change-Id: Iaf0accdcd1d5e37658ca56528b1709d0a00928d2
Add exit codes if run_stress.py detects an error

This is just a very basic exit code handling. Could be later enhanced by
different exit codes.

Implements: blueprint stress-tests

Change-Id: Idcf55163614f69d81fed538f7190bb63fe11dc2c
Merge "Updating HACKING with some test writing recommendations"
Merge "Add exit codes if run_stress.py detects an error"
Add isolated tenants for admin compute tests

This adds support for isolated credentials on admin tests. Previously
the admin tests just ran with the admin username, password, and
tenant from the config file. This changes that behavior by getting
isolated credentials for the admin base test class and then adding
the create user to the admin role.

This may fix a race condition uncovered by the testr runs.

Possibly part of: bp speed-up-tempest

Change-Id: I74339662ab769e005cb79b2d741a04640c5546ce
Use nose skip exception conditionally

testtools and nose disagree on the exception raised for skipping
tests with python < 2.7 (see inline comments for exact details).

This monkey-patches testtools to recognise the nose skip exception.
However, due to nose being deprecated we hide this behind an
environment variable to make it an opt-in fix.

While we're there, modify tempest.test.api.utils @skip_unless_attr
decorator to raise from tempest's BaseTestCase rather than
testtools.TestCase directly.

Change-Id: I13a8f374e879799870bc9193a1ddbdc8d6abb73c