Update task.normalizeMultiTaskFiles to flatten data.files if array

Created PR for [issue 1033](https://github.com/gruntjs/grunt/issues/1033):

Given a config snippet of:
```javascript
copy: {
    build_web: {
        files: [
            {
                // robots.txt, favicon.ico, etc
                expand: true,
                flatten: true,
                cwd: '<%= config.web.src.dir %>',
                dest: '<%= config.web.build.dir %>',
                src: [ '*.{ico,txt}' ]
            },
            {
                // App JavaScript files
                expand: true,
                flatten: true,
                cwd: '<%= config.web.src.dir %>',
                dest: '<%= config.web.build.dir %>scripts/',
                src: [ 'scripts/**/*.js' ]
            },
            {
                // App minified 3rd party JavaScript files
                expand: true,
                flatten: true,
                cwd: '<%= config.web.src.dir %>',
                dest: '<%= config.web.build.dir %>scripts/components/',
                src: [ 'components/**/*.min.js' ]
            },
        ]
    },
    build_server: {
        files: [
            {
                expand: true,
                cwd: '<%= config.server.src.dir %>',
                dest: '<%= config.server.build.dir %>',
                src: [ '**/*' ]
            }
        ]
    },
    build_all: {
        files: [
          '<%= copy.build_web.files %>',
          '<%= copy.build_server.files %>'
        ]
    }
}
```
Task `copy:build_all` will fail with:
`Warning: Object #<Object> has no method 'indexOf' Use --force to continue.`

The issue stems from not flattening the data.files array prior to looping through the multidimensional array that is passed in.