Bug 139986 [CommonNavigator] Convert catch(Error/Throwable) to SafeRunner
In several places the CN framework uses catch(Error/Throwable) to ensure that code does not bring the framework down. Change these to use SafeRunner.
bundles/org.eclipse.ui.navigator/src/org/eclipse/ui/internal/navigator/extensions/LinkHelperDescriptor.java
private final IConfigurationElement configElement;
	private String id;
	private Expression editorInputEnablement;
	
	private Expression selectionEnablement;
	private boolean hasLinkHelperFailedCreation;
	LinkHelperDescriptor(IConfigurationElement aConfigElement) {
		Assert.isNotNull(aConfigElement,
				"LinkHelperRegistry.Descriptor objects cannot be null."); 
		Assert
				.isLegal(LINK_HELPER.equals(aConfigElement.getName()),
						"LinkHelperRegistry.Descriptor objects must have the name \"linkHelper\"."); 
		configElement = aConfigElement;
		init();
	}
	void init() {
		id = configElement.getAttribute(ATT_ID);
		IConfigurationElement[] expressions = this.configElement
				.getChildren(EDITOR_INPUT_ENABLEMENT);
		Assert
				.isLegal(
						expressions.length == 1,
						"The linkHelper extension point requires exactly one editorInputEnablement child."); 
		editorInputEnablement = new CustomAndExpression(expressions[0]);
		expressions = configElement.getChildren(SELECTION_ENABLEMENT);
		if (expressions.length > 0) {