update will_be_checked_files during recheck
update will_be_checked_files during recheck

Summary:
during a recheck, we have a ref called `will_be_checked_files` to keep track of what the resulting `checked_files` will look like once that recheck is done.

when processing file watcher updates or commands from `recheck_stream` in parallel with the recheck, we use `will_be_checked_files` to ignore updates about files we're already in progress on, so that we don't cancel a recheck just to restart the same files.

we currently wait until we've computed `to_merge_or_check` to update this. but there is a window before that while we're computing what to recheck, where a subsequent request can cancel a priority recheck just to restart on the same file.

so, updating `will_be_checked_files` right away, before we even start the recheck, ensures this can't happen. it's safe to do this because forced files are .... forced .... to end up in the checked set and so are guaranteed to be in `to_merge_or_check`.

Changelog: [internal]

Reviewed By: samwgoldman

Differential Revision: D32487364

fbshipit-source-id: 6917069dba02516a5acd053dda0b33ffeb4b587e

mroch/flow,mroch/flow,facebook/flow,mroch/flow,facebook/flow,mroch/flow,facebook/flow,facebook/flow,mroch/flow,facebook/flow,facebook/flow,facebook/flow,mroch/flow,mroch/flow