Make sure to only save attributes when they have been changed. (#3995)
* Make sure to only save attributes when they have been saved.
This makes sure attributes on the parent are not needlessly saved to the child.
* Renamed testcase
* Added tests for child product attributes not copying parent attributes
* Make ProductAttributesContainer even more lazy and initialize only when an attribute is being read.
* Changed docstring