Reuse add_merge_on_diff from add_merge_on_exn
Reuse add_merge_on_diff from add_merge_on_exn

Summary:
We call add_merge_on_exn when merge jobs throw. In the event of an unhandled exception, we try to continue merging the remaining components, but we need to ensure the heap is in a valid state before continuing. For merge jobs, we need to write to the leader heap, sig context heap, and sig hash heap. This consolidates that logic a bit more.

This change should be behavior preserving.

Reviewed By: panagosg7

Differential Revision: D26702193

fbshipit-source-id: 926369dba4ba3fdc8b540258055f8929020be0fc

nmote/flow,nmote/flow,nmote/flow,nmote/flow,nmote/flow,nmote/flow,nmote/flow