Receiving packets out of order works now.

Fix bugs in next_seq() and handle() methods.

next_seq() was calculating the next sequence number of a packet wrong.

Changed handle() to ignore packets which have a too low / too high
sequence number.