Skip directories in 'file_scan_ignore_directories' when scanning for hooks.
HookCollectorPass and ThemeHookCollectorPass are recursively scanning for hooks within themes/extensions. They currently have a hard-coded list of directories to exclude, but are not using the existing file_scan_ignore_directories setting which is used for extension discovery.
This causes significant performance issues when you have for example a node_modules directory inside your theme as the entire structure will be scanned.
This change merges the default ignore list with any directories configured in file_scan_ignore_directories.
Closes #3564112