[Persisted] Make broadcast subscriptions granular by key (#4874)
* Add fast path for guaranteed noop updates
* Change persisted.onUpdate() API to take a key
* Implement granular broadcast listeners
authored by
danabra.mov
and committed by