Rename `$properties` argument to `$attributes`

Additionally remove references to 'product' from docblock descriptions.
Merge pull request #1797 from adamelso/attribute-interface-subject-agnostic

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