Bug 167450 [DataBinding] Get rid of bind support factory magic
I finally realized that we don't need that other magic factory. I'll move fillBindSpecDefaults() and the methods it calls (createConverter, createValidator etc) to a new class DefaultBindSpec. Clients who want default validators and converters created for them just create a DefaultBindSpec as opposed to a (rather empty) BindSpec. I will also move the early type checking into DefaultBindSpec to make it optional as well.
tests/org.eclipse.jface.tests.databinding/src/org/eclipse/jface/tests/databinding/BindSpecTests.java
* and will remove any existing validators.
	 */
	public void testSetValidator() {
		DefaultBindSpec spec = new DefaultBindSpec();
		IValidator v3 = new Validator();
		spec.setValidator(v3);
		assertSame(v3, spec.getTargetValidator());
	}
	/**
	 * Asserts that when <code>null</code> getTypeConverstionValidator() will
	 * return <code>null</code> and getTypeConversionValidators returns an
	 * empty array.
	 */
	public void testGetNullValidator() {
		DefaultBindSpec spec = new DefaultBindSpec();
		spec.setValidator(null);
		assertNull(spec.getTargetValidator());
	}
	/**
	 * Asserts that when a model to target converter is set it will always be
	 * the sole converter and will remove any existing converters.
	 */
	public void testSetModelToTargetConverter() {
		DefaultBindSpec spec = new DefaultBindSpec();
		IConverter c3 = new Converter();
		spec.setModelToTargetConverter(c3);
		assertSame(c3, spec.getModelToTargetConverter());
	}
	/**
	 * Asserts that when <code>null</code> getModelToTargetConverter() will