Improvements to the attribute subject interface descriptions and setAttributes method argument name.

Whilst implementing the Attribute Component, I noticed that `setAttributes(Collection $properties)` should be `setAttributes(Collection $attributes)`. I assume this occurred during some refactoring but it did confuse me a little bit. Also I took the opportunity to update the descriptions as they are still referring to the `Product`, and contain duplications. Additionally the grammar has been improved too :)