Watches a file system directory and streams change events from it.
Note that the JDK watcher is notoriously slow on some platform (up to 1s after event actually
happened on OSX for example)
Read the entire contents of a file, and then when the end is reached, keep reading newly
appended data. Like the unix command tail -f.
Aborting the stage can be done by combining with a akka.stream.KillSwitch
To use the stage from Scala see the factory methods in akka.stream.alpakka.file.scaladsl.FileTailSource