fixes for correct handle negate in patterns

There is an incorrect handling of negate symbols in glob patterns (`src`). 

```js
src: [
    'templates/**/*.html',
    '!templates/web-sites/**/*.html'
]
```

These fixes allows to use negate as mentioned at [Configuring tasks: Globbing patterns](http://gruntjs.com/configuring-tasks#globbing-patterns) regardless of the current value of the `root` option.