Break out query parsing from setting the query in the model...

...so FindInFilesUI doesn't need to touch the model before the search starts (for #6966).

@peterflynn This approach makes it so we don't have to deal with multiple models. There really wasn't any reason for FindInFilesUI to touch the model before actually starting the search, because all it needed was to parse the query and get error info. One the search starts, it's ok to clear the model at that point (and the existing code already does that in `FindInFiles.doSearchInScope()`).
Small suggestion: I think this should also close the search bar and verify the model is still ok after that too.  Although the current manifestation of bug #6966 involved clearing the state on search bar open, if some future change causes it to get cleared on search bar close instead, the same bug would reappear with the same repro steps.