Fixed Variant::setOption behavior

When setting a Collection of options to a Variant, each Option should be
added separately using the Variant::addOption() method, which will also
update the parent Product Attribute collection.

Product::removeAttribute() method was also added
This will mix new values with old ones in the `options` collection… is that what we want?