This lets us write custom hooks out of tree that are called whenever a
request is made in the functional tests.
The hook gets notified:
1. Just before a request, with the request args
2. Just after a request, with the resp and resp_body
3. When a request causes an exception, with the exception object (which
contains the resp and resp_body if it came from tempest_lib)
This is useful for maintaining certain out-of-tree test modifications,
like:
1. Rate limiting client requests
2. Additional custom logging
3. ???
Change-Id: Ie2ca4ee85972aa8f9b22c402ed8fad368d2ff7d9