Update SCMClients and tests for the new diff dictionary change.

My recent change to convert diff results to a dictionary that also
introduced the base_commit_id value was pushed prematurely. This change
finishes that up by updating all other SCMClients, post-review, and unit
tests.