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.
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/DataBindingContext.java
* @param validationRealm
	 *            the realm to be used for the validation observables
	 * @param factories
	 *            an array of bind support factories that will be consulted in
	 *            the given order when creating converters and validators.
	 */
	public DataBindingContext(DataBindingContext parent, Realm validationRealm, BindSupportFactory[] factories) {
		Assert.isNotNull(validationRealm);
		Assert.isNotNull(factories);
		this.parent = parent;
		if (parent != null) {
			parent.addChild(this);
		}
		this.validationRealm = validationRealm;
		this.bindSupportFactories = new ArrayList(Arrays.asList(factories));
		bindings = new WritableList(validationRealm);
        
        unmodifiableBindings = Observables.unmodifiableObservableList(bindings);
		partialValidationStatus = new ComputedValue(validationRealm) {
			protected Object calculate() {
				for(Iterator it=bindings.iterator(); it.hasNext();) {
					Binding binding = (Binding) it.next();
					IStatus status = (IStatus) binding.getPartialValidationStatus().getValue();
					if(!status.isOK()) {
						return status;
					}
				}
				return Status.OK_STATUS;
			}
		};