Gate Rector run and HookConvert pass on legacy-hook scan (LegacyHookDetector)
### Problem/Motivation Add LegacyHookDetector to scan for convertible legacy hooks and gate the Rector run and HookConvertRector pass on its results. Run the scan once and OR it into the run gate so hook-only modules (which Upgrade Status does not flag pre-D11.1) still get processed, and guard the HookConvertRector pass so hookless modules skip its 300-second timeout. Include a fixture demonstrating hook-conversion patches in the posting test suite. ### Work items - Commit(s): [6bebcc0dd7](https://git.drupalcode.org/project/project_analysis/-/commit/6bebcc0dd70b), [d931ab5d03](https://git.drupalcode.org/project/project_analysis/-/commit/d931ab5d0308), [c1bbe80000](https://git.drupalcode.org/project/project_analysis/-/commit/c1bbe800006f) ### Credit - Implemented by: @bbrala - Reported by: @feyp - Test-project feedback: @goba, @nicxvan, @wimleers, @rfay, @larowlan --- *Filed retroactively as part of the Drupal 12 rector coverage effort. Closed as fixed; credit to be applied to the contributors listed above.* *AI was used extensively to build this work and to file this issue. See [Dries Buytaert: AI-generated Rector rules for Drupal](https://dri.es/ai-generated-rector-rules-for-drupal) and [Björn Brala: Drupal Rector rules are config, not code. Mostly.](https://www.linkedin.com/pulse/drupal-rector-rules-config-code-mostly-bj%C3%B6rn-brala-vfpwe/).*
issue