Fixed reverse O2O joining.

This fixed 11 test errors. This commit needs review by Anssi as I'm not
entirely sure the approach taken is completely correct.
Fixed QuerySet updates for virtual fields.

Remaining errors: 56, failures: 32