support directories as value for external parameter

The external option could not take one or more directories. This PR fixes that by replacing the previous *isFile* filter by a *grunt.file.exists* check.

Note: this could not be achieved by `filter: 'exists'` as that option is not available on fs.Stats (the object on which string values to the filter parameter are applied).

This is useful when you want to refer to external node.js libraries. e.g.:
```javascript
external: ['node_modules/underscore']
```
(in my case, after having them bundled in a common.js bundle first)

I could not run tests as I am on a mobile network and unable to download VC++ build library for one of the dependencies. Works in my local install though.