Remove extraneous _running variable.

Refactor into Java. Screw groovy.

Tweak timing of watcher

[Enhancement] Reuse GradleConnector and watcher for multiple watcher tasks.

In instances where multiple watcher tasks may be running
concurrently, these tasks should reuse the Watcher and ProjectConnection instead
of spawning new connections per task.