Bug 166236 [Viewers] ViewerColumn needs a dispose method
ViewerColumn adds a listener to its label provider which is never removed. We need a dispose method that removes the listener. Furthermore, if the column's label provider wraps a non-column-specific label provider, the viewer is already listening to it and the viewer column shouldn't. Must be fixed before the next I build.
bundles/org.eclipse.jface/src/org/eclipse/jface/viewers/ColumnViewer.java
/**
	 * Returns the viewer column for the given column index.
	 * 
	 * @param columnIndex
	 *            the column index
	 * @return the viewer column at the given index, or <code>null</code> if
	 *         there is none for the given index
	 */
	 ViewerColumn getViewerColumn(final int columnIndex) {
		ViewerColumn viewer;
		Widget columnOwner = getColumnViewerOwner(columnIndex);
		if (columnOwner == null) {
			return null;
		}
		viewer = (ViewerColumn) columnOwner
				.getData(ViewerColumn.COLUMN_VIEWER_KEY);
		if (viewer == null) {
			viewer = createViewerColumn(columnOwner, CellLabelProvider
					.createViewerLabelProvider(getLabelProvider()));
			setupEditingSupport(columnIndex, viewer);
		}
		if (viewer.getEditingSupport() == null && getCellModifier() != null) {
			setupEditingSupport(columnIndex, viewer);
		}
		return viewer;
	}
	/**
	 * Sets up editing support for the given column based on the "old" cell editor API.
	 * 
	 * @param columnIndex