Update ClearCaseClient to use new diff functionality.

Review Request #12622 — Created Sept. 22, 2022 and submitted


This reworks ClearCaseClient to make use of the new diff tools and
UnifiedDiffWriter to generate diffs.

Now, we perform a diff of each file using the new diff tool support,
which simplifies logic and should provide wider compatibility as new
diff tool backends are implemented.

The resulting diff payload is then generated through a
UnifiedDiffWriter, giving us a consistent way of generating the
resulting diff payload for the DiffX file or the legacy diff.

The unit tests themselves no longer fake the diff results. Instead, we
set up some files that we can diff against, in order to ensure diffing
works as expected. The run_process_exec() spy match ops check against
the diff tool's expected command line, as determined by the tool, and
perform a real diff against files set up at the start of the suite.

Base testing support for diff normalization have been updated to accept
format strings for timezones and millisecond precision on timestamps.

Unit tests pass.

Update ClearCaseClient to use new diff functionality.
  1. Ship It!
Review request changed

Status: Closed (submitted)

Change Summary:

Pushed to release-4.x (f98bb51)