Added destructors for Senders and Packets.  These are the only objects that will be deleted during runtime (Packets when they are processed at a receiver, and Senders when they have sent all their packets) and require a non-default destructor, because they are the carrier for one or more linked lists.