[Wilds] Rewrite "arc" entrypoints for toolsets
This change prevents arc from running arc diff, so I'm copy/pasting it.
This change also completely breaks arc, but I'm just generally trying to do this rewrite step-by-step so we have at least a bit of context to refer to in the future.
The major change here is to turn both arc and phage into scripts which start an ArcanistRuntime. This runtime then decides which workflows (like "diff", "patch", or "remote") are available based on $argv. This turns arc into more of a CLI tools platform: we can build phage on it, third parties can build my-companion-tool-thing, etc. But all the different entry points can share a lot of infrastructure like: help, alias, shell-complete, configuration, Conduit, prompting, --trace, extension infrastructure, and so on.
ArcanistRuntime is roughly a slightly more modern version of scripts/arcanist.php. That will be removed eventually, but not everything has ported yet.
Test Plan: This code basically doesn't run yet, although the next patch runs at least a little bit.
Reviewed By: amckinley
Maniphest Tasks: T13098
Differential Revision: https://secure.phabricator.com/D19677