Force-restart adb when setting up the device at the beginning of the run.

This ports a change over from chromium r229931 / codereview.chromium.org/32163002
to forcibly restart adb on each connected device at the beginning of each webkit_tests
in the hopes of making it more reliable.

TBR=bulach@chromium.org, tonyg@chromium.org, peter@chromium.org
BUG=305040

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

git-svn-id: svn://svn.chromium.org/blink/trunk@163674 bbb929c8-8fbe-4397-9dbb-9b2b20218538
Allow TextIterator to enter author shadow roots.

This patch adds yet another iteration state to TextIterator so that it can
enter author shadow roots. This is the core change for fixing bug 244955,
but does not fix the bug (yet).

This change adds a new TextIteratorBehavior called
TextIteratorEntersAuthorShadowRoots. If this option is set, author shadow roots
are visited before UA shadow root or child nodes are visited. Author shadow
roots are visited from youngest to oldest, because the youngest takes
precedence on rendering.

After this change is landed, I will write a change that lets findPlainText()
use the option added in this change, and we'll be all set (hopefully)!

BUG=244955

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

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