Arcyd: split abdt_branchmock data out to new class

So that abdt_branchmock and abdt_branch may have identical public
interfaces, break the internals of the mock into a separate class.

This separate class is free to have an interface with features useful
for testing.

Test Plan: $ ./precommit.sh