Cache downloaded descriptors to disk
Our remote descriptor module is pretty slick, but would be even better if it cached the descriptors it downloaded to disks. This would prevent repeated calls from needlessly re-downloading descriptors we've already retrieved.
Caching and retrieving the descriptors is trivial. The tricky bit is to know when the cached contents should be invalidated.