Arcyd: refactor, mv make_raw_diff call to abdt_git

Prepare to cache the result of diffing refs by moving the checkout and
call to abdt_differ.make_raw_diff() into the abdt_git.Repo, where it can
be cached.

Test Plan:
$ ./precommit.sh
Add abdt_differresultcache for faster diffing

Move towards faster diffing of the same refs by creating a cache for
this purpose.

Add tests to exercise the cache.

Test Plan:
$ ./precommit.sh
Arcyd: use abdt_differresultcache.Cache

Speed up repetitive diffs of the same refs by using the new differ
cache. This is a likely scenario where there are 'bad' review branches
that have no diffs on them.

These branches become increasingly expensive over time as the
differ will need to checkout further back in history, so the cache has
an increasing benefit.

Test Plan:

General coverage
$ ./precommit.sh