Return number of bytes consumed, as per:

http://ask.wireshark.org/questions/30529/does-reassembly-address-multiple-pdus-in-a-single-tcp-segment
- Support multiple MQTT PDUs per TCP segment.
- Support MQTT PDUs that cross TCP segments.
Add details for CONNACK.
Refactor into helper method.
Restructure loop to look for complete PDUs and leftover data.

Still TODO: have dissect_mqtt_pdus properly set new_offset.
Properly set new_offset.
Fix desegmentation logic.
Remove TODO file
Handle all message types explicitly, allowing for arbitrary
number of MQTT PDUs in TCP segment, as well as re-assembly
across TCP segments.