Fix some false positives on the assertion firing.
It's ok to check the multi in shutdown.
It's also impossible to check that we're on the right queue once the ivar has been cleared, which happens during cleanup. Dispatch sources can still fire at this point.
Return boolean from checkDownloadBufferWasCorrect, so that we can fail an assertion in a more useful location.
Clear buffer after the downloadBuffer check, so that we can do another download.