The main problem with the existing logic was that it did not update the extents of relations when previously incomplete members were loaded. It was also overly stateful; the various queues and flags are no longer required. Fixes #1928. Fixes #1540.