Retry creation really works agian.

Since we were retrying, it would retry the 'add' after the merge, which would still
fail because add wants the key to not exist.

This changes it to explicitly save after the merging, and uses the CB mock
for testing