Deferred --tools validation until extension discovery, then validated against built-in and registered tool names while preserving strict rejection of unknown names.
Fixes#8421
- Stop scanning extension flags after end-of-options marker `--`
- Allow string extension flag to consume `--` as its value
- Extract extension-flag parsing into a testable exported helper
- Introduce minimal extension flag runner/session interfaces to reduce coupling
- Add regression tests for `--` boundary behavior