Tied the completionBlock on the performBackgroundCoreDataOperation:completion: with the actual merge. Refactored the way merges work to perform better under heavy workload