Prefer exact basename matches over shallow matches

This addresses atom/fuzzy-finder#8. The idea is to prefer an exact basename match, even if that match is deeper/has more segments. The test demonstrates:

```coffee-script
it "prefers basename matches over shallow matches", ->
  expect(filter(['foo/quix.js', 'foo/bar/baz/quix'], 'quix', maxResults: 1)).toEqual ['foo/bar/baz/quix']
```