Basic flow implementation

I think it is worthwhile to check that a FINPacket was indeed received and throw an error if not. Might save us time debugging down the road. Also, I'm not sure if an acknowledgement of the FINPacket (or a second FINPacket) needs to be sent before closing the connection.