Makes Tailer use ScheduledExecutorService from Java 5

This has multiple benefits:
- it provides periodic runs of the read operations without needing to
invoke Thread.sleep().
- it removes any looping from the run() method, making for cleaner code.
- generally brings Tailer closer to what modern Java looks like.

No public API changes have been made. All tests are passing without
modifications.