Arcyd: BREAK, simplify fetching to single call
Arcyd: BREAK, simplify fetching to single call

Greatly simplify abdt_git.Repo.checkout_master_fetch_prune() by using
refspecs instead of manually detecting refs and fetching them
individually.

This reduces the number of interactions required with the server on
updating a repository to a single 'git fetch' invocation, as would
generally be expected.

The complicated approach was originally adopted because the legacy
'landinglog' ref was not compatible with the simpler refspec approach.

Repositories will need to be fixed up with arcyd fsck to remove the
landinglog ref like so ...

  $ arcyd fsck --remote --fix

... before they can be processed with arcyd after this commit.

Test Plan:
$ ./precommit.sh
$ ./testbed/arcyd/acceptance_tests.sh
$ ./testbed/arcyd/test_shell.sh
    .. create and land reviews, swap between arcyd instances ..
    .. truncate landed history, ensure arcyds continue new history ..

cs-shadow/phabricator-tools,aevri/phabricator-tools,cs-shadow/phabricator-tools,cs-shadow/phabricator-tools,bloomberg/phabricator-tools,kjedruczyk/phabricator-tools,cs-shadow/phabricator-tools,kjedruczyk/phabricator-tools,aevri/phabricator-tools,bloomberg/phabricator-tools,bloomberg/phabricator-tools,kjedruczyk/phabricator-tools,kjedruczyk/phabricator-tools,kjedruczyk/phabricator-tools,cs-shadow/phabricator-tools,aevri/phabricator-tools,bloomberg/phabricator-tools,bloomberg/phabricator-tools,aevri/phabricator-tools,aevri/phabricator-tools