Changing a related model should mark the model as dirty

It was possible to bypass validation if you only changed a related
model using `$foo->bar = new Model_Bar(1);` and you did not change
another column.
Only mark model as dirty when the related model has changed