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/ViewerColumn.java
*/
	protected ViewerColumn(final ColumnViewer viewer, Widget columnOwner) {
		columnOwner.setData(ViewerColumn.COLUMN_VIEWER_KEY, this);
		this.listener = new ILabelProviderListener() {
			public void labelProviderChanged(LabelProviderChangedEvent event) {
				viewer.handleLabelProviderChanged(event);
			}
		};
	}
	/**
	 * Return the label provider for the receiver.
	 * 
	 * @return ViewerLabelProvider
	 */
	CellLabelProvider getLabelProvider() {
		return labelProvider;
	}
	/**
	 * Set the label provider for the column.
	 * 
	 * @param labelProvider
	 *            the new {@link CellLabelProvider}
	 */
	public void setLabelProvider(CellLabelProvider labelProvider) {
		if (this.labelProvider != null) {
			this.labelProvider.removeListener(listener);
		}
		this.labelProvider = labelProvider;
		this.labelProvider.addListener(listener);
	}