Fix Issue 221 - Don't continue looping until 3 responses received

With the old code, the "read response" loop would *continue* if **either** of these conditions were met:
* Fewer than 3 responses had been received
* The most recently received response was not empty

So, the loop would only stop when *both* conditions were false:
* 3+ responses had been received, AND
* The most recently received response was empty

For responses that returned empty. The loop would run twice and timeout on its second run (because there were no more packet to receive).

With this update, the "read response" loop will continue until it receives a response with an empty body (regardless of how many packets end up being received). Because the RCONTerminator packet it being sent, a response with an empty body will always be sent at the end.