Clear orphan markers from other other sessions that get left behind

Fixes #2669 
@devoncarew 

- Keep track of session that marker was created on so that we can remove it from anywhere.
- Set the focus back to the editor from navigating so that `onKeyUp` events get caught after navigation occurs
- Encapsulate the logic for marker hover handling into one place in `AceManager` (`_setLinkingMarker(ace.Range)`)

Nevermind, looks like it is necessary!

Can you remove this however, and instead add `forceFocus: true` to the `selectFile` call around line 787? That will fix the issue for other types of navigations as well. (mouse click hyperlinks, and the navigation arrows).