Issue #3385337: Defer menu link rebuilds to reduce queries during module install
Entity hooks (insert/update/delete) triggered immediate menu link rebuilds for each config entity change. During module installation, this caused hundreds of redundant rebuilds (~85,000 extra queries).
Changes:
- Add MenuLinkRebuildManager service with DestructableInterface to defer rebuilds to end of request via needs_destruction tag
- Entity hooks now call requestRebuild() instead of immediate rebuild()
- ExtraLinks::routeExists() preloads all routes in one batch call instead of triggering route rebuilds per individual route check
Tested: drush en with 24 modules (Commerce + OpenY) completes in ~60s instead of hanging indefinitely.
Closes #3385337