Gradle build files update
LoadingMessageSourceProvider: change timeout handling completely

Instead of restarting a new task each time a timeout occurs, just let the task
be until it returns an actual result.

This means that, in the cleanup phase, we cancel all tasks unconditionally.