routing_table: Merge overlapping contacts during configuration
Previously we would simply ignore any contact that was overlapping. This
changes the routing table's behavior such that overlapping contacts with
the same node are merged and overlapping contacts with multiple
different nodes are just allowed and added alongside each other. The
maximum number of contacts defined by MAX_CONCURRENT_CONTACTS
now is
just a limitation of the Contact Manager which will not process more
than that number of contacts at the same time. (If one of them ends, a
concurrent contact that was not handled can be added.)
This fixes an issue where we could not add new reachable EIDs to any contact that had been scheduled previously, as the newly-added contact was considered an "invalid overlap".
Fixes: #99 (closed)
Based upon !80 (merged)