Refactor, extract is_remote_reserve_branch_present

Make it possible to test whether the reserve branch is present
separately from fixing it. This makes it easy to add support to
'arcyd fsck'.

Test Plan:
$ ./precommit.sh
'arcyd fsck' checks and fixes reserve branch

Enable retro-actively creating the reserve branch in repos that don't
have it by adding the functionality to 'arcyd fsck'.

Test Plan:
$ ./precommit.sh
$ ./testbed/arcyd/test_shell.sh
    $ cd ../arcyd2
    $ arcyd fsck --remote
    $ cd var/repo/localhost_fs1_origin/
    $ git push origin :dev/arcyd/reserve
    $ cd  ../../..
    $ arcyd fsck --remote
    .. report missing reserve branch ..
    $ arcyd fsck --remote --fix
    .. fix missing reserve branch ..
    $ arcyd fsck --remote
    .. no errors ..
Add phlgit_checkout.previous_branch()

Add a convenience function for repo('checkout', '-'). A function is
probably easier to read than the repo() call and typos in the function
name would be picked up by the static checkers.

Exercised in subsequent commit.

Test Plan:
$ ./precommit.sh
abdi_repo.ensure_reserve_branch() rm local branch

Clean up the local 'dev/arcyd/reserve' branch after ensuring it exists
remotely, it's not necessary to keep it hanging around.

Test Plan:
$ ./precommit.sh
$ ./testbed/arcyd/test_shell.sh
    $ cd ../arcyd/var/repo/localhost_fs1_origin/
    $ git branch
    .. no local reserve branch ..