Use new Arcyd conduit, step towards testability

Take the first step towards better testability by creating a new
Arcyd-specific conduit wrapper implementation, which we'll be able to
test independantly and replace with a mock version during tests.

Test Plan:
$ ./precommit.sh
testbed/arcyd/ $ ./run_arcyd_multi.sh
Move abdcmt_commenter to use abdt_conduit

Replace direct dependencies on phlsys_conduit with the
abdt_conduit abstraction.

Test Plan: $ ./precommit.sh
Move Arcyd revision create, update to new conduit

Replace direct dependencies on phlsys_conduit with the
abdt_conduit abstraction.

Test Plan: $ ./precommit.sh
Minor, sort abdi_processrepo imports
Minor, remove redundant updates in huge diff tests

This makes the tests ~6 seconds shorter on tested machine.

Test Plan: $ ./precommit.sh
Move Arcyd author query to new conduit

Replace direct dependencies on phlsys_conduit with the
abdt_conduit abstraction.

Test Plan: $ ./precommit.sh
Remove redundant conduit query

Conduit calls are expensive, remove a query with an unused result.

Test Plan $ ./precommit.sh
Move Arcyd 'accepted' query to new conduit

Replace direct dependencies on phlsys_conduit with the
abdt_conduit abstraction.

Test Plan: $ ./precommit.sh
Move Arcyd 'close revision' to new conduit

Replace direct dependencies on phlsys_conduit with the
abdt_conduit abstraction.

Test Plan: $ ./precommit.sh
Move Arcyd 'create empty revision' to new conduit

Replace direct dependencies on phlsys_conduit with the
abdt_conduit abstraction.

Test Plan: $ ./precommit.sh
Move Arcyd 'get_commit_message' to new conduit

Replace direct dependencies on phlsys_conduit with the
abdt_conduit abstraction.

Test Plan: $ ./precommit.sh
Arcyd: remove redundant act_as_user_context

Remove a redundant act_as_user_context, this allows us to unsplit some
lines due to the new indentation level.

Test Plan: $ ./precommit.sh
Move last Arcyd as_user context to new conduit

Replace direct dependencies on phlsys_conduit with the
abdt_conduit abstraction.

Test Plan: $ ./precommit.sh
Move Arcyd tests to use new conduit

Update abdi_processrepo__t to use abdt_conduit.Conduit so that we will
later be able to swap it for a mock implementation; the tests will be
much more scalable.

Test Plan: $ ./precommit.sh
Move Arcyd completely over to new conduit

Finish replacing direct usage of phlsys_conduit with the abstract
abdt_conduit.

Test Plan: $ ./precommit.sh
Minor, sort imports in abdi_processrepo__t
Arcyd: inject git object into processrepo

So that we can gradually replace direct dependence on phlsys_git with an
abstraction; inject the required git object into process repo instead of
just the path.

Take the opportunity to consolidate some of the test code in
abdi_processrepo__t which creates git objects.

Test Plan: $ ./precommit.sh
Arcyd: create a mock implementation of conduit

For faster and more comprehensive unit testing, start implementing a
mock version of conduit; this will allow us to more tightly control the
expectations which Arcyd must satisfy.

Move the unit tests over to use the mock version, the production code
will now use the real version; thus introducing the possibility of
missing errors.

Test Plan: $ ./precommit.sh
Arcyd testbed: reduce delay in run_arcyd_multi.sh

Reduced delay from 5 secs to 2 secs

Test Plan: testbed/arcyd/ $ ./run_arcyd_multi.sh
Arcyd: abstract Git usage as abdt_git

To make refactoring more tractable and to make mocking possible, extract
all interaction with Git into a new class and module.

Test Plan: $ ./precommit.sh