Move matching Element traversal functions from LiveNodeListBase to ElementTraversal

Move matching Element traversal functions from LiveNodeListBase to
ElementTraversal and generalized them a bit so that they can be reused in the
rest of the code base.

LiveNodeListBase exists so that code can be shared between LiveNodeList and
HTMLCollection. However, the ElementTraversal class is a better place to share
DOM Tree traversal utility functions. It is quite common in the code base that
we want to traverse Elements that match a specific rule so this will reduce
code duplication once the rest of the code is ported to these new
ElementTraversal functions.

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

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

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