This adds master block detection and will update the topology if necessary. This fixes an issue where master block could be wrongly identified.
Added a throttle to ping requests by staggering them between timer ticks, this mitigates some issues with larger topologies.