What's the rationale for performing the reload only if the presentation compiler knows about the passed unit? If this is necessary, wouldn't it be better to move this logic inside ``flushScheduledReloads`` and call ``compilationUnits`` only once.

I'm asking because:

* It complicates reasoning about possible interactions between ``compilationUnits``, ``scheduledUnits`` and ``unitOfFile`` (and maybe also calls on the presentation compiler such as ``removeUnitOf``). 
* It may slow down the ide if ``scheduleReload`` is called often enough, and ``compilationUnits`` contains a lot of units.