Refactor, extract abdi_repo.try_push_special_refs

Make it easier to re-use code to test repositories by extracting some of
it to a method and providing appropriate comments.

Test Plan:
$ ./precommit.sh
fixup! Add '--remote' arg to 'arcyd fsck'
'arcyd fsck --remote' also checks writing

Test Plan:
$ ./precommit.sh
$ ./testbed/arcyd/test_shell.sh
    $ cd ../arcyd2
    $ rm -rf ../origin
    $ arcyd fsck --remote
    .. errors as expected ..
    $ arcyd fsck
    .. errors as expected ..
Don't run 'arcyd fsck' with arcyd running

Prevent 'arcyd fsck' when arcyd is running, we may want to do operations
that will interfere.

Test Plan:
$ ./precommit.sh
$ ./testbed/arcyd/test_shell.sh
    $ cd ../arcyd
    $ arcyd fsck
    .. refuses to run ..
    $ arcyd stop
    $ arcyd fsck
    .. runs just fine ..