UDP: implemented ReuseAddress option (it's like SO_REUSEADDR socket option in Linux)

If ReuseAddress is set to true on two sockets, then they can bind to the same
local address/port.

E.g. the following works:

  UDPSocket s1, s1;
  ...
  s1.setReuseAddress(true);
  s1.bind(7777);
  s2.setReuseAddress(true);
  s2.bind(IPv4Address("10.0.0.1"), 7777);

s2 will receive packets whose destination address is 10.0.0.1, s1 will receive all other packets
eliminated ANSAUDP module
updated fingerprint tests