+ "pathname", "servlets", "viewlet"
IDEA-104500 Gradle: Allow to reuse common logic for other external systems

1. ExternalSystemProjectResolver and ExternalSystemTaskManager are explicitly provided by ExternalSystemTaskNotificationListener (used for the processing output and status change notification);
2. ExternalSystemSettingsControl.disposeUIResources() and ExternalSystemSettingsControl.showUi() implementations are switched to reflection-based processing in order to remove boilerplate code;
3. Introduced external system tasks (with concrete gradle tasks implementation);