Rebuild "arc browse" using refs and hardpoints
Summary:
Ref T10895. This mostly modularizes arc browse and puts it on ref/hardpoint infrastructure. Feels okay-ish? Major gripes:
- Messaging for "some stuff won't work because you're in a random directory, not a working copy" could be better, but I think I want something like the "Guidance" infrastructure for this.
- The requiresStuff() / desiresStuff() interactions on Workflow continue to feel bad, but I think I can sneak by without fixing those for now.
- I want to improve some of the other UI/UX stuff but this diff is already gigantic.
Test Plan: Ran arc browse ., arc browse master, arc browse README.md, inside and outside working directories.
Reviewers: chad
Reviewed By: chad
Maniphest Tasks: T10895
Differential Revision: https://secure.phabricator.com/D16925