Make PlayWatchService more generic

Rename PlayWatchService to FileWatchService since there's nothing Play-specific about it. Also add the ability to call it from Java by adding a method that takes Java types and renaming the default method since that is a reserved keyword in Java