Only check cache for included or excluded files

For example, here’s a hypothetical configuration for broccoli-compass so that changing other files (like `*.js` or `*.html`) in a tree does not cause a rebuild:

```javascript
var outputTree = compileCompass(inputTree, {
  filterFromCache: {
    include: [
      '**/*.{scss,sass}'    // only base the input tree’s hash on *.scss and *.sass files
    ]
  }
});
```

Note, this does _not_ affect what files make it to the output tree at all, rather it only makes it easier for subclasses to only rebuild when file types they care about change.

Also, I'm relatively new to broccoli and its approach to incremental builds, so I'm not sure if it preferred to solve things a different way (such as filtering the tree to only Sass files before it hits this writer?).

ps: I’m not sold at all on the `filterFromCache` name. But I was trying to be explicit and prevent intersecting with existing/future subclasses.
Because the directory size will not be correct if any files are later filtered out of the directory.

Alternatively, we could sum up the file size of all included filxes, but that seemed to not be worth it.