Close classloader in ScalaRun.run
Close classloader in ScalaRun.run

It is necessary to close the run classloader in order to reuse the
dependency layer in the next run. If the loader needs to survive past
the main method, as is the case with `run` and `runMain`, then the
runWithLoader api should be used instead.

This mostly restores the behavior of classloader closing to 1.3.0 for
the tasks that use ScalaRun except for `run` and `runMain`. But unlike
1.3.0, if the classloader is closed it can still spawn a zombie
classloader.

Fixes #5124.

sbt/sbt,mdedetrich/sbt,xuwei-k/xsbt,sbt/sbt,mdedetrich/sbt,xuwei-k/xsbt,mdedetrich/sbt,mdedetrich/sbt,sbt/sbt,sbt/sbt,xuwei-k/xsbt,mdedetrich/sbt,sbt/sbt,mdedetrich/sbt,xuwei-k/xsbt,sbt/sbt,xuwei-k/xsbt,sbt/sbt,mdedetrich/sbt