Move attributes-related methods from ElementData to AttributeCollection

Move attributes-related methods from ElementData to AttributeCollection.
Now that we have a dedicated class for Element attributes, it seems odd for
the attributes-related API to be in Element / ElementData.

This CL does not change the Element API for attributes so that the patch
stays small. However, the idea would be to later move callers away from the
attributes API on Element and instead call Element::attributes() and then
interact directly with the returned AttributeCollection object.

Using AttributeCollection directly has the benefit of avoiding redundant
calls to ElementData::isUnique() and the caller can store AttributeCollection
object in a variable and then any later interaction with this object won't
require checking if ElementData is unique or not.

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

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

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