Use range-based for loops of C++11 in traversing nodes / elements.

This is a follow-up patch after r183872.

This patch also introduced the following iterators in addition to the iterators which r183872 added
so that we can cover frequently-appearing traversal patterns.

- NodeTraversal::from(const Node*)
- Traversal<ElementType>::from(const ElementType*))

BUG=None
TEST=no layout test failure

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

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