 Fix #16:
 Fix #16:

PINGRESP has no remaining length, but both MQTTPacket_read() and MQTTPacket_readnb() wait for some bytes after header.
MQTTPacket_read() would eventually exit when the socket read times out and returns 0 read (if the underlying transport does that), but MQTTPacket_readnb() would stay waiting for data.
This fix causes both functions to not ask for more data when remaining length is zero.

 Fix #57:

On really slow links, if TCP (or whatever underlying transport) failed to
provide the whole length bytes before this function was called 4 times,
next call would exit with an error code. The problem was that the function
was also counting "additional entries" in addition to properly counting
received bytes.

Signed-off-by: Sergio R. Caprile <d05f3e4f05bd49dff05bf782813e1749ee320a5b@gmail.com>

eclipse/paho.mqtt.embedded-c,eclipse/paho.mqtt.embedded-c,eclipse/paho.mqtt.embedded-c,eclipse/paho.mqtt.embedded-c,monstrenyatko/ArduinoMqtt,eclipse/paho.mqtt.embedded-c,monstrenyatko/ArduinoMqtt