Move attributes-related API from UniqueElementData to AttributeCollection

Move attributes-related API from UniqueElementData to AttributeCollection
for consistency with the "read-only" attributes API. A new
MutableAttributeCollection class is added to provide attribute addition /
removal API. The rest of the API is moved to a AttributeCollectionGeneric
base class so that it can be shared between AttributeCollection and
MutableAttributeCollection without any code duplication.

R=esprehn@chromium.org, adamk@chromium.org

Review URL: https://codereview.chromium.org/354363002

git-svn-id: svn://svn.chromium.org/blink/trunk@179421 bbb929c8-8fbe-4397-9dbb-9b2b20218538