Reload file once

Fix from @manuelcabral in https://github.com/gruntjs/grunt-contrib-watch/pull/193 with a test added.