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/DatabindingContextTest.java
ValueChangeCounter errorCounter = new ValueChangeCounter();
		ChangeCounter errorsCounter = new ChangeCounter();
		IObservableValue error = dbc.getValidationStatus();
		error.addValueChangeListener(errorCounter);
		assertTrue(((IStatus)error.getValue()).isOK());
		IObservableMap errors = dbc.getValidationStatusMap();
		errors.addChangeListener(errorsCounter);
		assertEquals(0, errors.size());
		IValidator validator = new IValidator() {
			public IStatus validate(Object value) {
				return ValidationStatus.error(errorMessage);
			}
		};
		dbc.bindValue(targetObservable, modelObservable, new DefaultBindSpec()
				.setValidator(validator));
		targetObservable.setValue("");
		assertFalse(((IStatus)error.getValue()).isOK());
		assertEquals(errorMessage, ((IStatus)error.getValue()).getMessage());
		assertEquals(1, errors.size());
		assertEquals(1, errorsCounter.count);
		assertEquals(1, errorCounter.count);
	}
	/**
	 * Asserts that then
	 * {@link DataBindingContext#bindValue(IObservableValue, IObservableValue, org.eclipse.jface.databinding.DefaultBindSpec)}
	 * if invoked the created binding is added to the internal list of bindings.
	 * 
	 * @throws Exception
	 */
	public void testBindValueAddBinding() throws Exception {