Revert "Revert "new data binder code""

This reverts commit 483a4cb5fd7aebd4ab0505f0056dc1054c4186e0.
fix failing test

Fixes nullbinding.BindAssociationToNullFunctionalTests from the functional test suite
fix failing test

Fixes fileupload.FileUploadFunctionalTests from the functional test suite