Consider better algorithms for randomly selecting an unused virtual address
See discussion on #7571 (moved): we could be using some kind of approach based on crit-bit trees instead of the current "pick a random value, see if it's used, if not, try again up to 1000 times" approach.