add_next_ip: add allow_duplicates parameter
When asking to allocate an IP address, if allow_duplicates is False,
try first to lookup for an IP address matching description in target
subnet, and return it instead of allocating a duplicate IP. This allows
a client to atomically add an IP even if it asks multiple allocations.