checkForDFU
Checks if a DFU update is available for the given device. Queues a DEVICE_INFORMATION operation to trigger a heartbeat, waits for the firmware version, fetches the DFU image, and compares versions. Updates dfuAvailable, dfuImage, and dfuImageLoading. Runs mutually exclusively.
Return
true if an update is available and state was set, false otherwise