Branches off of https://tangled.org/tranquil.farm/tranquil-pds/pulls/671/latest. I'll rebase this when the first PR is merged.
This time I was careful to split things into reviewable chunks. Yay!
This PR introduces blob garbage collection through a scheduled task that runs on an interval. It can be disabled by setting it to 0.
To prevent accidentally garbagely collecting a blob while someone is uploading the same blob (Tranquil deduplicates blobs globally), or a blob getting deleted while a record is being uploaded that references it, this introduces a blob lock. That way GC can't accidentally rug pull anything else 🤞
Here's how I imagine what the blob lock looks like:

Any blob has at least 6h after being uploaded to get referenced. After that, it's fair game.