Convert all tokenizers to take token/scalar inputs


Convert all tokenizers to take token/scalar inputs

Summary: Ref T7689. Ref T4100. This advances the goals of removing loadViewerHandles() (only 67 callsites remain!) and letting tokenizers some day take token functions like viewer() and members(differential).

Test Plan:

  • Sent a new message; used "To".
    • I simplified the cancel URI construction slightly because it's moot in all normal cases.
  • Edited a thread; used "Add Participants".
  • Searched rooms; used "Participants".
  • Searched countdowns; used "Authors".
  • Created a diff; used "Repository".
  • Edited a revision; edited "Projects"; edited "Reveiwers"; edited "Subscribers".
  • Searched for revisions; edited "responsible users"; "authors"; "reviwers"; "subscribers"; "repositories".
  • Added revision comments; edited "Add Reveiwers"; "Add Subscribers".
  • Commented on a commit; edited "Add Auditors"; "Add subscribers".
  • Edited a commit; edited "Projects".
  • Edited a repository; edited "Projects".
  • Searched feed, used "include Users"; "include Proejcts".
  • Searched files, used "authors".
  • Edited initiative; edited "Projects".
  • Searched backers; used "Backers".
  • Searched initiatives; used "Owners".
  • Edited build plans; edited "Run Command".
  • Searched Herald; used "Authors".
  • Added signature exemption in Legalpad.
  • Searhced legalpad; used "creators"; used "contributors".
  • Searched signatures; used "documents"; used "signers".
  • Created meme.
  • Searched macros; used "Authors".
  • Used "Projects" in Maniphest reports.
  • Used Maniphest comment actions.
  • Edited Maniphest tasks; edited "Assigned To"; edited "CC"; edited "projects".
  • Used "parent" in Maniphest task creation workflow.
  • Searched for projects; used "assigned to"; "in any projec"; "in all projects"; "not in projects"; "in users' projects"; "authors"; "subscribers".
  • Edited Maniphest bug filing domains, used "Default Author".
  • Searched for OAuth applications, used "Creators".
  • Edited Owners pacakge; edited "Primary Owner"; edited "Owners".
  • Searched for Owners packages; used "Owner".
    • OMG this UI is OLD
  • Edited a paste; edited "Projects".
  • Searched for paste; used "Authors".
  • Searched user activity log; used "Actors"; used "Users".
  • Edited a mock; edited "Projects"; edited "CC".
  • Searched for mocks; used "Authors".
  • Edited Phortune account; edited "Members".
  • Edited Phortune merchant account; edited "Members".
  • Searched Phrequent; used "Users".
  • Edited Ponder question; sued "projects".
  • Searched Ponder; used "Authors"; used "Answered By".
  • Added project members.
  • Searched for projects; used "Members".
  • Edited a Releeph product; edited "Pushers".
  • Searched pull requests; searched "Requestors".
  • Edited an arcanist project; used "Uses Symbols From".
  • Searhced push logs; used "Repositories"; used "Pushers".
  • Searched repositories; used "In nay project".
  • Used global search; used Authors/owners/Subscribers/In Any Project.
  • Edited a slowvote; used "Projects".
  • Searched slovotes; used "Authors".
  • Created a custom "Users" field; edited and searched for it.
  • Made a whole lot of typos in this list. ^^^^^^

Did not test:

  • Lint is nontrivial to test locally, I'll test it in production.

Reviewers: btrahan

Reviewed By: btrahan

Subscribers: epriestley

Maniphest Tasks: T4100, T7689

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