(experimental) Support grunt-contrib-watch style files: srcArray

I'm not sure if this breaks some tasks, but couldn't Grunt support the `grunt-contrib-watch` style of specifying files? When I started using Grunt I found it pretty confusing to have this one "blessed" watch plugin that is used everywhere but that is configured differently from every other plugin.

Do you think the benefits outweigh the downside of having to support yet another way of specifying files? (TBH it's just treating `files` like `src` in case `files` contains strings)

Ex: increasing levels of detail/verbosity in `target.files`
```js
// new / grunt-contrib-watch style
target1: {
  files: ['**/*.js']
},
// files object
target2: {
  files: { 'dist/file.js': ['**/*.js'] }
},
// files objects in array
target3: {
  files: [
    { 'dist/file-a.js': ['a/**/*.js'] },
    { 'dist/file-b.js': ['b/**/*.js'] }
  ]
},
// files array
target4: {
  files: [
    { src: 'dist/file-a.js', dest: ['a/**/*.js'], /* ... */ },
    { src: 'dist/file-b.js', dest: ['b/**/*.js'], /* ... */ }
  ]
}
```