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.
Mind adding an `expect` for when `string` and `query` are equal just to make sure that path is covered?