Clarify warning message.
Endpoint returns False when thread still alive.
Clarify asserts.
LAN/WAN detection cleanup.

- Dispersy._local_interfaces contains a list with all available
  interfaces, including their subnet mask

- Votes for our WAN address that originate from within our LAN are
  ignored.  A vote originates from within our LAN when the origin
  sock_addr matches any of Dispersy._local_interfaces, taking into
  account the subnet mask of each interface.

- Dispersy.estimate_lan_and_wan_addresses has been simplified.  It now
  recognises the inability to determine the WAN address of someone who
  is on its LAN address (or the LAN address of someone who is on its WAN
  address).

- Candidate.lan_address and Candidate.wan_address is now allowed to
  be (0.0.0.0, 0).  Previously the value would always be set to -some-
  address, sometimes resulting in incorrect addresses.

- Candidate.sock_addr is always used when sending packets to a
  Candidate.  The Candidate.get_destination_address method is
  deprecated.
WAN/LAN specific unit tests.