Use an AtomicString as key in DocumentOrderedMap

Use an AtomicString as key in DocumentOrderedMap instead of a StringImpl*.
This is safer as the HashMap Traits rely on the StringImpl* to not be a
dangling pointer (it is calling StringImpl::hash()). Using an AtomicString
as key will make sure we don't experience use-after-free such as in Bug
402255.

I ran Bindings/get-element-by-id.html test and did not see any performance
regression.

R=esprehn@chromium.org, morrita@chromium.org
BUG=402255

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

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