Fix pattern matching

Fixed an issue that was causing all files to get ignored, regardless of the pattern.

Multimatch was returning an empty array when the pattern did not match the filename, and this was passing as truthy in the test, so the files were always removed. I updated it to check the length of the array instead.

```js
for (var file in files) {
  if (match(file, patterns).length > 0) delete files[file];
}
```
---

This issue was also slipping past the test suite, since all of the fixture's `build/` directories were under version control. When the test suite would run, the builds would fail, but the test suite would use the previous run's output so the tests were still passing.

I updated the tests to clear out the build directories for each run and ignore them for the future. I added a couple dependencies for the test suite, but I'll be happy to take those out if you'd rather not have them :)

Also, I've been loving Metalsmith so far! :grin: