There is no call to `cb()` in the case of an error while deleting the original IDB record.  It seems we will hang the process then because `migrateRecords()` will never match its expected list length.  Should the `cb()` be made here or perhaps a separate error path implemented?

Would it be possible to delete the entire IDB database after we believe we have saved all of the contacts?  Then it might not be necessary to delete them individually, or at least not be too concerned if that individual delete is successful or not.