match scorer methods closely

The `.match()` method now returns an array of string indexes for each matched char. This allows the code to follow scorer almost exactly and simplifies the logic in `fuzzy-finder`.

It does have one issue. Since scorer will double-count characters, a search for `rc` against `src/scorer.coffee` will result in `s[r][c]/sco[r]er.[c]offee`. See screenshot:

![fuzzy-overlap](https://cloud.githubusercontent.com/assets/253202/3223829/d438b486-f028-11e3-9bc6-e49f0b253d05.gif)

This "feature" can be removed by simplifying the `unless queryHasSlashes` code in `fuzzaldrin.coffee` to either:

- return the `baseMatches` if all the characters match, or
- return the full path `matches` if `baseMatches` is empty

The corresponding https://github.com/atom/fuzzy-finder/pull/39 has been updated to use this code.
I think you can just :fire: this variable and just return `exports.match(base, query, string.length - base.length)` directly