When running "arc land" from a detached HEAD, don't try to delete the source ref
Fixes T10321. Some reasonable but less-common workflows involve running arc land from a detached HEAD state.
When users do this, we currently try to delete the raw hash as though it were a branch during cleanup. Instead, detect if the thing we're thinking about deleting is a branch or not, and just leave it alone if it isn't.
- Ran git checkout <some hash>, then arc land --revision <some revision>.
- Before, everything worked but cleanup tried to git branch -D <some hash>.
- After, everything worked and cleanup skipped branch deletion.
Maniphest Tasks: T10321
Differential Revision: https://secure.phabricator.com/D20786