r11595: added a helper layer to parse streams into individual packets. This is
something that Andrew Bartlett has been asking for for a while, and
when I started having to re-invent this packet parsing code yet again
for SMB2 I decided it was time to do it generically
you use it by providing a "is this a full packet yet?" helper function
to the packet_*() functions, which then handle all the logic of
partial packet buffering.
This also goes to great lengths to operate efficiently, minimising the
number of recv system calls.