validator_discovery: less flexible, but simpler design (#3052)

* validator_discovery: less flexible, but simpler design

* fix test

* remove unused struct

* smol optimization
7 jobs for master in 27 minutes and 57 seconds (queued for 1 second)