Bug 174555 [DataBinding] Run validation on binding construction
When a binding is created the assumption is that the UI is synchronized with the model. This means that the UI should reflect the state of the model's validity as well. In order to ensure that the UI reflects the model's validity the consumer needs to force a copy to model on instantiation of every binding. We need to remove this requirement.
bundles/org.eclipse.core.databinding/src/org/eclipse/core/databinding/DataBindingContext.java
* to perform validation during data entry but to defer other validation
	 * until a copy to the model is to occur. A common use case where this is
	 * employed is the editing of a model in a dialog. The model should not be
	 * updated until OK/Apply is selected but common validation (e.g. type and
	 * range checking) is to be performed as the user is interacting with the
	 * UI. The following {@link BindSpec} configuration will setup such a use
	 * case:
	 * 
	 * <pre>
	 * <code>
	 * new DefaultBindSpec().setModelUpdatePolicy(BindSpec.POLICY_EXPLICIT)
	 * 		.addTargetValidator(BindingEvent.PIPELINE_BEFORE_CHANGE,
	 * 				new Validator());
	 * </code>
	 * </pre>
	 * 
	 * By default with a 
	 * {@link BindSpec#setModelUpdatePolicy(Integer) model update policy} of
	 * {@link BindSpec#POLICY_EXPLICIT} validation is ran up to and including
	 * <code>BindingEvent.PIPELINE_AFTER_CONVERT</code> on every change of the
	 * target. In the above example the provided validator will only be invoked
	 * on an explicit model updates {@link Binding#updateModelFromTarget()}.
	 * </p>
	 * 
	 * @param targetObservableValue
	 * @param modelObservableValue
	 * @param bindSpec
	 *            the bind spec, or null. A bindSpec object must not be reused
	 *            or changed after it is passed to this method.
	 * @return a Binding synchronizing the state of the two observables