Remove `doWithSourceFile` from InteractiveCompilationUnit.

A `sourceFile` can easily be obtained from the compilation unit,
and does not justify having an ARM method for (there is no cleanup
or other lifecycle management that needs to be performed around it).
Remove useless `withParseTree`.
Move newSearchableEnvironment to a better place.

The operation made no sense for compilation units, since it
returns a searchable environment for the whole project. Now
it lives in IScalaProject.
Renamed scheduleReconcile to initialReconcile.

After the quiescence changes, this method is no longer doing what it
said it does. To clear up terminology, we reserve `schedule` to mean
scheduling a future askReload (pc.scheduleReload). All units scheduled for
a reload will be passed to `askReload` on reconciliation timeout (usually
500ms).

This method is the entry-point to the managed units in the presentation
compiler: it asks for an initial Reload and adds the unit to the managed set, so from now on `scheduleReload` can be used instead. When dirty units are flushed, all units that are dirty but that are not in the managed set are discarded.