Server ea_laddr is a sockaddr_storage now, copy memory.

Conflicts:
	server.c
Handle udp recvmsg in function socket_recv().
Use socket_recv() instead of recvfrom() for udp packets.
Activate IP_RECVDSTADDR and IP_RECVDSTPORT.

Conflicts:
	server.c
Receive address and port also for ipv6.
Client faddr is a sockaddr_storage now, copy memory.
Call sockaddr variables sa, not addr.
Move common main() function to util.
Move usage() to beginning.
Add option icmp error percentage to server usage and getopt.
Create a raw socket to send and receive icmp error packets.
Print statistics about icmp packets.
Put sending code into function socket_write().
Send icmp error packets.
Fix server sending icmp packats on raw socket
Server ea_laddr is a sockaddr_storage now, copy memory.
Do not set bind address, recvmsg gets it automatically.
Call sockaddr variables in socket_write() sa, not addr.
Add option icmp error percentage to client usage and getopt.
Only delete icmp event if it has been created.