AddressBookManager performance enhacements

stores lists of contacts all at once (only looks for duplicates once
and only saves once).
Mostly untested.