Account for WatchKey reuse

The same WatchKey can be reused in a WatchService. When that happens, add on to (instead of replace) the file extensions associated with that WatchKey.
Revert "disable the Java 7 WatchService implementation for now, since it simply doesn't work in testing"

Since the problem with the Java 7 WatchService implementation has been fixed, enable it.

This reverts commit b8c4140d2407dbdcda813a1756a5867cec308154.
Merge pull request #513 from candrews/patch-11

Fix Java 7 WatchService implementation of DirectoryWatcher
remove dependency on grails-compat
removed a couple references to grails-compat

One was already commented out
Improve binary compatibility
Merge branch 'master' of github.com:grails/grails-core
remove dependency on grails-compat
Merge branch 'master' of github.com:grails/grails-core
remove dependency from grails-test-suite-persistence to grails-compat
fix failing test
remove remaining dependencies on grails-compat
fix failing test
rename package org.codehaus.groovy.grails -> org.grails
in these modules:
- grails-encoder
- grails-plugin-codecs
- grails-plugin-datasource
- grails-plugin-gsp
- grails-plugin-services
- grails-plugin-testing
- grails-test
- grails-web-fileupload
- grails-web-gsp
- grails-web-gsp-taglib
- grails-web-jsp
- grails-web-sitemesh
use Spring 4.0.6.RELEASE
update to Groovy 2.3.4
Updated Asset-Pipeline plugin
GRAILS-11571 - allow addTo* and removeFrom* methods to work with GrailsTypeChecked and GrailsCompileStatic
Merge branch '2.4.x' of github.com:grails/grails-core into 2.4.x
Merge branch '2.4.x'

Conflicts:
	grails-bootstrap/src/main/groovy/org/codehaus/groovy/grails/resolve/GrailsCoreDependencies.java
	grails-core/src/main/groovy/grails/compiler/GrailsCompileStatic.groovy
	grails-core/src/main/groovy/grails/compiler/GrailsTypeChecked.groovy
	grails-core/src/main/groovy/org/codehaus/groovy/grails/compiler/DirectoryWatcher.java
	grails-core/src/main/groovy/org/codehaus/groovy/grails/compiler/WatchServiceDirectoryWatcher.java