python-circuit is a circuit breaker according to the logic outline in Michael T.
The circuit breaker monitors communication with a remote peer and in the case of a high error rate may break the circuit and not allow further communication for a short period. After a while the breaker will let through a single request to probe to see if the peer feels better. If it does, it will close the circuit and allow requests once again. If not, it will open the circuit again.
A `CircuitBreakerSet` can handle the state for multiple peers at the same time. Use the `context` method to pick which peer to track. The first argument is used to identify the peer. Make it a string of some kind, since it will be used to identify the peer in logs.