LoadingMessageSourceProvider: use daemon threads

Since we have no real control over our ExecutorService, this is the only way we
can ensure threads will eventually shut down.