When custom nodes fail to import, the summary now shows the exception
type and message instead of just "(IMPORT FAILED)".
Before:
0.0 seconds (IMPORT FAILED): custom_nodes/my_node
After:
0.0 seconds (IMPORT FAILED: ImportError: No module named 'xyz'): custom_nodes/my_node
Changes:
- Add IMPORT_FAILED_REASONS dict to store failure context
- Capture exception type and first line of message (max 100 chars)
- Include failure reason in import summary output
This helps users quickly diagnose why custom nodes failed to load
without needing to scroll through the full traceback.
Fixes#11454