Fix issue where fetch's upstream data version causes txns we are waiting acks for, are ignored, causing re-sending of txns.

Fix is to check if txnQueue is non-empty, and to only load data and callback to
app when the last txnQueue item (at that moment in time) is removed from our txnQueue