Speed up the clearing of URL caches in DynamicURLResolver.
Review Request #7808 — Created Dec. 15, 2015 and submitted
When modifying the list of URLs in a DynamicURLResolver, it's necessary to walk the chain of parent resolvers and re-populate them. This is because each spot in the chain maintains caches for lookups further in the chain. The way we were doing this was slow. We forced a repopulation of every level between the root and the DynamicURLResolver. This was slow, and unnecessary. We're now clearing all private cache state instead, forcing these to repopulate on demand later and not up-front. That helps greatly when adding/removing multiple URLs at once, and prevents a lot of unnecessary premature work.
Djblets, Review Board, and Power Pack unit tests pass.