fix: prevent FutureTask.applyMonitored from failing if the Future is already complete

(This could happen if a LibraryLoader success callback triggered an error)
Merge remote-tracking branch 'upstream/master'