Teach DirMgr to use slightly untimely directories
In tor
we've found it important to actually accept consensus documents that are slightly expired, or not quite yet valid. This serves two purposes:
- It makes us a little more tolerant of clients with clock skew.
- It makes us able to tolerate a failure condition in which authorities aren't able to reach a consensus for a while.
We've actually hit the second case in the past, and nearly run out tor
's 24-hour limit, so I'm taking a better limit from proposal 212.
Making this change required some follow-on changes in how we compute bootstrapped-status, how old of a directory we're willing to ask for, and how we do reset times.
Closes #412 (closed). Closes #467 (closed).
Assigning to @eta for review since she's been wrangling this code most recently.