3799: feat(layerdb): support eviction for workspace snapshots r=fnichol a=adamhjk
This adds workspace snapshot eviction. The layerdb instance that calls evict will delete the entry from memory, disk, and postgres, and send an eviction event to all other layerdb instances. Those instances will then evict from memory and disk.
If we find ourselves adding a lot more eviction style calls, we need to refactor the layered event structure - right now, it always expects a value, and it's theoretically type safe to pass the wrong kind of layeredevent between eviction and writing. (It may be type safe, but it would be very hard to do in practice, since you never assemble these things directly anyway)
<img src="https://media4.giphy.com/media/3o6Mb6MYhk1fShAzx6/giphy.gif"/>
3802: Remove recommendation to run old engine r=nickgerace a=nickgerace
## Description
Now that we can deploy SI with SI, we can remove the recommendation to run the old engine. This PR also contains polishing outdated bits of documentation and converts the architecture documentation into something less confusing.
<img src="https://media2.giphy.com/media/DFexVkRG7gX9oCy68r/giphy.gif"/>
Co-authored-by: Adam Jacob <[email protected]>
Co-authored-by: Nick Gerace <[email protected]>