File: Refactor fetch from MRL
We currently have 2 fetch functions:
- fromMrl which only supports discovered files
- fromExternalMrl which only supports absolute MRLs of external media
We start to duplicate the "if external mrl doesn't match anything, fallback to 'internal' MRL" logic in at least 3 locations, it's probably worth having a common fetcher, but we might avoid useless requests if we keep the other 2.