Updated Stop and Wait to handle retransmission of lost packets.

1) Added random packet loss to the link model
2) Added retransmission timers and cancellation of timers to the
   Stop-and-Wait protocol.
Added broadcast functionality.

1) Packets now have a TTL field
2) Packets can be broadcast using a destination address of "0" (zero)
3) Most objects now have a send_packet() method and a receive_packet()
   method. send_packet() is for packets being sent from an upper layer
   to a lower layer. receive_packet() is for packets being sent from a lower
   layer to an upper layer
4) See the broadcast.py example for sample code
Added ability to take link up and down.

See the revised examples/simple.py for how to use this functionality.
New code to create networks via a configuration file.

Updated the examples to use this new code.
Created several example networks.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	examples/transfer.py
	src/link.py
	src/stopandwait.py