Dynamic programming

Rather than broadcasting a packet every update_interval, the router should broadcast a packet every time it's distance estimates have changed.