Warn user when file is already open in another view

This is for #9031 

**Cases to test:**
a. single-click
b. double-click
c. drag-drop

**No Split** - should *not* see warning
- file not in editor, not in ws
- file in editor, not in ws
- file not in editor, in ws
- file in editor, in ws

**Split** - should *not* see warning
- file not in editor, not in ws
- file in current editor, not in ws
- file not in editor, in current ws
- file in current editor, in current ws

**Split - should see warning**
- file in other editor, not in ws
- file in other editor, in other ws
- file not in editor, in other ws

Need to squash commits before merging

cc @JeffryBooher 
we don't need to wait for the timeout to complete to set the preference.  we should do this in the main execution thread to avoid showing this dialog if we're being called in a tight loop.