Refactored Promise.fold to be locked (thread-safe). Still uses (now thread-safe) NSNotificationCenter, but may look to use LockedList of callbacks.