Make router_choose_random_node() linear instead of quadratic
See parent for motivation.
The smartlist_subtract() function is O(m*n), so we should try not to use it here if we can.
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information