Design goals:
- Only keep a limited number of addresses around, so that addr.dat does not grow without bound.
- Keep the address tables in-memory, and occasionally write the table to addr.dat.
- Make sure no (localized) attacker can fill the entire table with his nodes/addresses.
See comments in addrman.h for more detailed information.