Allow checking out branches in `arc branch`
Allow checking out branches in `arc branch`

Summary:
The main added value is loading the branch name from revision.
Sometimes I know the revision ID but I don't know the branch name.

The missing piece is the starting point of the branch.
I was thinking about using `arc.land.onto.default` but we also need to get 'origin'.

This is also the last step of a simple workflow where underlying VCS is not abstracted away.
In future, we can implement this for other APIs.

Test Plan:
  $ arc branch new_branch
  $ arc branch new_branch
  $ arc branch D4168

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D4170

phacility/arcanist,calblueprint/arcanist,aik099/arcanist,coursera/arcanist,aik099/arcanist,julkiewicz/arcanist,eSpark/arcanist,zhihu/arcanist,dguo-coursera/arcanist,sneakpeeq/arcanist,kevinseelbach/arcanist,eSpark/arcanist,Symplicity/arcanist,r4nt/arcanist,zhihu/arcanist,zhihu/arcanist,kevinseelbach/arcanist,alexmv/arcanist,memsql/arcanist,sneakpeeq/arcanist,chundongwang/arcanist,wxstars/arcanist,aik099/arcanist,alexmv/arcanist,uber/arcanist,julkiewicz/arcanist,eSpark/arcanist,fivestars/arcanist,hach-que/arcanist,haskell-infra/arcanist,wharris/arcanist,zhihu/arcanist,dguo-coursera/arcanist,codelabs-ch/arcanist,fivestars/arcanist,haskell-infra/arcanist,chundongwang/arcanist,Khan/arcanist,jra3/arcanist,uber/arcanist,coursera/arcanist,hach-que/arcanist,coursera/arcanist,codelabs-ch/arcanist,fivestars/arcanist,Khan/arcanist,folsom-labs/arcanist,wharris/arcanist,PageUpPeopleOrg/arcanist-patches,r4nt/arcanist,hach-que/arcanist,wharris/arcanist,haskell-infra/arcanist,wikimedia/phabricator-arcanist,calblueprint/arcanist,Khan/arcanist,folsom-labs/arcanist,folsom-labs/arcanist,jra3/arcanist,KieranHayes/arcanist,wxstars/arcanist,alexmv/arcanist,phacility/arcanist,chundongwang/arcanist,julkiewicz/arcanist,wikimedia/phabricator-arcanist,KieranHayes/arcanist,memsql/arcanist,phacility/arcanist,PageUpPeopleOrg/arcanist-patches,haskell-infra/arcanist,r4nt/arcanist,wikimedia/phabricator-arcanist,uber/arcanist,PageUpPeopleOrg/arcanist-patches,wikimedia/phabricator-arcanist,Khan/arcanist,calblueprint/arcanist,kevinseelbach/arcanist,dguo-coursera/arcanist,phacility/arcanist,alexmv/arcanist,Symplicity/arcanist,uber/arcanist,codelabs-ch/arcanist,kevinseelbach/arcanist,phacility/arcanist,eSpark/arcanist,wxstars/arcanist,PageUpPeopleOrg/arcanist-patches,calblueprint/arcanist,julkiewicz/arcanist,chundongwang/arcanist,folsom-labs/arcanist,aik099/arcanist,KieranHayes/arcanist,fivestars/arcanist,memsql/arcanist,dguo-coursera/arcanist,KieranHayes/arcanist,coursera/arcanist,codelabs-ch/arcanist,codelabs-ch/arcanist,wxstars/arcanist,wharris/arcanist,jra3/arcanist,sneakpeeq/arcanist,memsql/arcanist,jra3/arcanist,sneakpeeq/arcanist,hach-que/arcanist,r4nt/arcanist,Symplicity/arcanist,Symplicity/arcanist