Fix: ! negates .eslintignore patterns (fixes #1093)

For example, given the following .eslintignore, `/dir/bar.js` would be ignored, but `/dir/foo.js` would still be included.

```
/dir
!/dir/foo.js
```

I moved the logic that duplicated patterns by adding `/**` because the duplicate patterns were breaking the negation logic, so instead I just check each pattern twice.
Confused by this line - why the change? Seems unrelated to making `!` work.