GRAILS-10135: DirectoryWatcher: Use Java 7's WatchService API when available

When WatchService is available at runtime, use it as means of implementing DirectoryWatcher. If it's not available, use the existing polling method.

See http://jira.grails.org/browse/GRAILS-10135