Use GIT tracked branches for arc land targets when reasonable
Use GIT tracked branches for arc land targets when reasonable

Summary:
See T5690.
-arc land now respects tracked branch when choosing 'onto'; '--onto' option remains as an override.
-arc land now respects tracked branch when choosing a remote; the remote is taken from 'onto's upstream unless the '--remote' option is present; when 'onto' branch has no upstream the '--remote' option must be provided as before.

Since 'arc feature' branches are (already) created as tracking branches, 'arc.land.onto.default' if present, is only used as the default when a non-tracking branch created by some other means is landed with out explicit '--onto'.  This may be surprising but is probably the correct go-forward behavior and is inline with the description in T5690.

Test Plan:
-checked having no arc.land.onto.default still assumes 'master'
-checked 'arc.land.onto.default' still overrides 'master'
-checked upstream branch (of feature branch) overrides 'master' and 'arc.land.onto.default'
-checked '--onto' overrides all
-checked origin is default for non-tracking branches
-checked the land onto branch's upstream remote is used instead of 'origin'
-checked '--remote' overrides 'origin' and the tracked upstream
-tested several crazy branch names including 'something/like/this' for both the upstream and tracking branches
-tested on linux and OS X
-rinse and repeat on Windows

Reviewers: epriestley, #blessed_reviewers

Reviewed By: epriestley, #blessed_reviewers

Subscribers: epriestley, Korvin

Maniphest Tasks: T5690

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

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