Basic flow implementation

I don't think congestion control will need all the received packets so far. It may need some basic state parameters that capture the sequence number or time of the last few packets, but we can add those in when we implement congestion control. This program will essentially be leaking memory if it keeps all the received packets in the buffer.