Use Guard as Fallback Directory
When a client hasn't used the Tor network for a few days, its consensus expires. If the authorities are blocked while it's offline, it can't bootstrap.
However, it has (almost) enough information to bootstrap from a semi-trusted relay - its guard.
This change requires:
* a proposal
* an additional line `GuardFallbackDir` in the state file, formatted like a FallbackDir line, if the guard is also a directory mirror
When legacy/trac#12538 is implemented, every relay (and therefore every Guard) will be a directory cache by default.
issue