reserve lower half of client lists for ipv4 for now

also rename client_in_list() to client_or_ip_port_in_list(), it also checks for an identical ip/port and replaces the client_id, recycling the entry

DHT.c:
- rename client_in_list() to client_or_ip_port_in_list()
- replace_bad(), replace_good(): if IPv6, only insert into the upper half of the given list
- addto_lists(): convert ipv4-in-ipv6 mapped to ipv4
reserving 50%+ for ipv4, take 2

DHT.c:
- we have to actually count the number of addresses in the field, because sort_list() will move the stuff around
- improved replace_good() substantially by throwing away the "furthest" client_id, not the one just a bit worse than the new one (but better than all the later ones in the field!)
Merge branch 'master' of https://github.com/irungentoo/ProjectTox-Core.git into ipv6.yield50%toipv4
honor the claim of sort_list(), that the result is in anti-intuitive order, and treat element zero as the furthest
Merge pull request #590 from FullName/ipv6.yield50%toipv4

reserve half of client lists for ipv4 (take #2)