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