Track dirty nested attributes

This allows users of dirty attributes to `monitor_association_changes` made by setting the nested attributes directly.