consumePreKeyBundle
Returns the bundle for address, or null for an unknown device. The bundle holds the identity key, the current signed prekey and the available one-time prekey with the lowest ID, or none if the inventory is empty. That one-time prekey is removed and its ID recorded as consumed, in the same atomic step: no two callers get the same one.