Mark some circuit-building errors as "transient".
A "transient" error is one that does not indicate a true failure, but rather an expected need to retry. When we hit one of these, we do not count it against the total number of permitted failures.
(We do impose a higher limit on "real failures plus transient failures", though, to prevent infinite loops in the event of a programming error.
Closes #517 (closed).
Edited by Nick Mathewson