Mocking, monkeypatching, we hates them

- a StubLog class, as an alternative to mock_log
- a stub_treq (and attendant classes), as an alternative to mock_treq
- the ability to pass the treq implementation to check_success.
a stab at a reauthenticating HTTP client

very poorly tested so far - just made the existing Heat client tests
pass. Need to explicitly test the reauthentication support.
get rid of ResponseDone import
some scratchy work on getting heat client to use Effects
checkpoint on a bit more hacking for using Effects in OpenStackClient
more hacking towards pure HTTP
a few tests for OSHTTPClient
and a bunch of random fixes found by them.
a lot more tests for OSHTTPClient, some linting
tests for the Request *effect*, and a StubTreq to go along.
update pure_http tests to use latest version of effect APIs

also add a stub_pure_response method that makes it easier to
stub out the return value of pure_http.Request.
finish updating the heat client to use pure_http.
rename this unused parameter for clarity
Merge branch 'master' into heat-reauth

Conflicts:
	otter/test/worker/test_heat_client.py
Merge remote-tracking branch 'origin/boundlog_matcher' into heat-reauth
use manish's new IsBoundWith matcher in the heat client tests
update effect dependency to 0.1a2
update to latest effect release (to be released...)
get rid of the decorator, it's now unneeded.
drop OSHTTPClient for a set of composed functions.

the 'auth' factory passed to the request function now has two
responsibilities: getting an initial token (whether cached or by
authenticating), and refreshing a token in the event that we know
that it's invalid.

This allows us to get rid of all knowledge of authentication from
the heat client.
use toolz instead of implementing conj ourselves