Fix edge case regression when searching for dotfiles
Fix edge case regression when searching for dotfiles

Fixes problem introduced in ee9732511.

Given an initial empty search string we were setting dotfiles to have a
score of 0.0 in order to hide them from the search listing, which was
causing them to be skipped in subsequent searches, even if the user
types ".foo". Notably, on pressing backspace, our shortcircuiting would
be deactivated and we would show the results.

The (regrettably subtle) fix here is to hide the files in the initial
search by returning a *negative* score.

When the user then types a period ("."), we will go ahead an calculate
the score, at which point the -1.0 will be replaced with some positive
score (because we can't fail to match in this case, the dot matches the
dotfile by definition). If the *next* letter (or any other letter typed
later on) causes a failure to match, we'll set the score to 0.0, causing
it to be suppressed (until backspace is pressed).

On the other hand, if instead of typing a period the user types a
letter, these files will continue to be skipped (and their score set to
-1.0) at relatively low cost, so this shouldn't have any negative impact
on the benchmarks.

Note the p values (no significant difference):

Summary of cpu time and (wall-clock time):
                    best    avg      sd     +/-   p   (best)    (avg)      (sd)     +/-   p
     pathological 1.07000 1.16800 0.12734 [+0.9%]   (1.07308) (1.17285) (0.13029) [+0.6%]
        command-t 0.81000 0.92000 0.09592 [+2.4%]   (0.81280) (0.92122) (0.09806) [+2.6%]
chromium (subset) 3.18000 3.30600 0.09521 [-3.0%]   (0.64119) (0.67648) (0.02236) [-2.5%]
 chromium (whole) 4.30000 4.34200 0.03370 [-1.2%]   (0.63329) (0.67998) (0.02648) [-8.9%]
       big (400k) 6.23000 6.39400 0.12532 [-0.7%]   (0.99223) (1.06572) (0.07311) [+3.2%]
c

wincent/command-t,wincent/command-t,yrro/command-t,wincent/command-t,yrro/command-t