Bug 119316 Changes in Logical Model support classes
I have dne some refactoring of the Team logical model support classes. Basically, I have moved several class from Team UI to Team Core. I have left stubs in Team UI so that LTK and JDT UI compile but they will not work until they are refactored to use the Core classes. I have also added an abstract class, ResourceMappingMerger, for IResourceMappingMerger. The LTK/JDT merger should subclass this.
org.eclipse.ltk.ui.refactoring/src/org/eclipse/ltk/ui/refactoring/model/AbstractRefactoringModelMerger.java
*            the progress monitor to use
	 * @return the incoming refactoring history
	 */
	private static RefactoringHistory getRefactoringHistory(final SyncInfoTree tree, final IProgressMonitor monitor) {
		try {
			monitor.beginTask(RefactoringUIMessages.RefactoringModelMerger_retrieving_refactorings, tree.size());
			final Collection existing= new ArrayList();
			final Set incoming= new HashSet();
			for (final Iterator iterator= tree.iterator(); iterator.hasNext();) {
				final SyncInfo info= (SyncInfo) iterator.next();
				final int direction= SyncInfo.getDirection(info.getKind());
				if (direction == SyncInfo.INCOMING || direction == SyncInfo.CONFLICTING) {
					final IResourceVariant variant= info.getRemote();
					if (variant != null) {
						final String name= variant.getName();
						if (name.equalsIgnoreCase(RefactoringHistoryService.NAME_INDEX_FILE)) {
							final IResource resource= info.getLocal();
							if (resource instanceof IStorage && resource.exists()) {
								final IStorage storage= (IStorage) resource;
								if (storage != null) {
									InputStream stream= null;
									try {
										stream= storage.getContents();
										final RefactoringDescriptorProxy[] proxies= RefactoringHistoryService.getInstance().readRefactoringDescriptorProxies(stream);
										for (int index= 0; index < proxies.length; index++)
											existing.add(proxies[index]);
									} catch (CoreException exception) {
										RefactoringUIPlugin.log(exception);
									} finally {
										if (stream != null) {