docs: Add HACKING information about test attributes
docs: Add HACKING information about test attributes

Tempest uses test attributes [0] in many places for different
reasons, but there is no documentation to explain why.
For example, Tempest uses these attributes to customize
Zuul jobs to selectively run only slow scenario tests. Tempest
also has a tox entrypoint for just running smoke tests.

Further, there is no documentation explaining:

* what is a smoke test
* what is a negative test
* what is a slow test

And more importantly: When should each attribute be applied?

So this information is not just useful for beginners (helping
them understand the different types of testing and what they
mean) but also for users who would like to understand how to
correctly apply attributes to new tests in either Tempest
or Tempest plugins.

[0] https://testtools.readthedocs.io/en/latest/for-test-authors.html?highlight=attr#test-attributes

Change-Id: I7be0bebaab56a418616bea01e90a437b23499234

cisco-openstack/tempest,openstack/tempest,masayukig/tempest,masayukig/tempest,cisco-openstack/tempest,openstack/tempest