Re #7843. Disconnect observers if cancelling or deleting.

Because very bad things happen if the handlers are called after the
object they live in has been deleted!
Re #7843. Run file and live data loading algorithms asynchronously.

Using the AlgorithmRunner class.