This series depends on my QOM -object series that I just posted. In Amit's thread on virtio-rng, danpb mentioned that we really ought to have a proper RNG backend infrastructure and of course he's correct on that.
Now that we have QOM, I wanted to demonstrate how we can use QOM to construct a complete backend without adding any new infrastructure. I've now implemented a urandom and egd backend and tested them. I think the first three patches are ready to go. I have not changed much about patch 4/4. There are some issues with it that I've noticed so I'll respond here and provide the feedback. Patch 4/4 is why I've marked this whole series as RFC as I don't think it's ready to apply yet.