Interface for an application-defined object that can resolve a conflict between two revisions of
a document. Called when saving a Document, when there is a newer revision already in the database;
and also when the replicator pulls a remote revision that conflicts with a locally-saved revision.
Resolves the given conflict. Returning a nil document means giving up the conflict resolution
and will result to a conflicting error returned when saving the document.