[Phabricator] track Mercurial bookmarks for differential diffs

Summary:
This adds all the changes necessary to track the active Mercurial
bookmark for differential diffs.  We render both branch and bookmark
information in the branch field of the Differential revison view, as
seen in
https://secure.phabricator.com/file/data/kzpmu3evfkukxdjyxrfz/PHID-FILE-eqorsqupxvwirqi2s5lo/bookmark_differential.jpg

The Arcanist half of this is https://secure.phabricator.com/D2896

Test Plan:
Mostly D2896.

Additionally, loaded a diff created with a bookmark, as per the link in the summary.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Maniphest Tasks: T1331

Differential Revision: https://secure.phabricator.com/D2897
Merge pull request #144 from floatingLomas/master

D2895 Added a red notification thunderbolt for when we're on an admin page.
Document `git:branch-unique(*)` and `arc:bookmark`

Summary: Explain how these work. Let me know if there's a clearer way to explain "arc:bookmark".

Test Plan: Generated / viewed documentation.

Reviewers: dschleimer

Reviewed By: dschleimer

CC: aran

Maniphest Tasks: T1233

Differential Revision: https://secure.phabricator.com/D2868
Support basic notification aggregation

Summary: This is both only partially complete (supports Maniphest only) and somewhat overcomplicated (includes support for applying similar algorithms to Feed), but provides runtime aggregation of notifications.

Test Plan: {F13502}

Reviewers: btrahan, jungejason

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D2884
Minor, fix an issue where we may fail to select a translation for mail.
Minor, move the "repair" instructions to the right place.
Minor, fix an issue where %e is empty from git log.
Consolidate PhabricatorFeedStory construction code

Summary: This code is duplicated in two places; share it.

Test Plan: Looked at feed and notifications.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D2901
Minor, move all remarkup code to src/infrastructure/markup/
Minor, move all storage/query/db code to src/infrastructure/storage
Add table markup to Phabricator

Summary: See D2902.

Test Plan: Made tables, generated docs.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D2903
Fix display of admin "new value" in `accountadmin` script

Summary: I broke this when converting to PhabricatorUserEditor.

Test Plan:
Ran `accountadmin`, created an admin account, verified the "new value" column showed "Y".

  ACCOUNT SUMMARY

                 OLD VALUE                        NEW VALUE
      Username                                    derp
     Real Name                                    derprp
         Email                                    derp@derp.com
      Password                                    Unchanged
         Admin   N                                Y

Reviewers: btrahan, nikil

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T1434

Differential Revision: https://secure.phabricator.com/D2908
Fix a typo

Summary: This should be "files".

Test Plan: Read carefully.

Reviewers: btrahan, nikil

Reviewed By: btrahan

CC: aran

Maniphest Tasks: T1435

Differential Revision: https://secure.phabricator.com/D2909
Consolidate feed query code

Summary: Simplify FeedQuery by making it extend from PhabricatorIDPagedPolicyQuery

Test Plan: Looked at feed on home, projects, user profile, and called `feed.query`.

Reviewers: btrahan

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D2905
Insert Maniphest transactions when edges are edited

Summary:
  - See D2741.
  - When EdgeEditor performs edits, emit events.
  - Listen for Maniphest edge events and save the changes as transactions.
  - Do all this in a reasonably generic way that won't take too much rewriting as we use edges more generally.

Test Plan: Attached and detached commits from tasks, saw reasonable-looking transactions spring into existence.

Reviewers: btrahan, davidreuss

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D2906
Add useful text descriptions to edge transactions

Summary: See D2906. This just adds text so they render pretty.

Test Plan:
Got pretty emails and rendered transactions.

{F13706}

Reviewers: btrahan, davidreuss

Reviewed By: btrahan

CC: aran

Differential Revision: https://secure.phabricator.com/D2907
Set timezone before calling date

Summary:
PhabricatorAccessLog called date() before we set the timezone; this
reorders the commands.

Test Plan: loaded my sandbox; checked log to see that hphp didn't complain

Reviewers: epriestley, jungejason

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D2911
Minor, restore missing limits from 310cf00fc3cce6a023ad160a29def26845d82e26
Opt-in approve your own Differential revisions

Summary: Did exactly what @epriestley suggested in T1428#2.

Test Plan: Turn it on in your config, post a revision, accept it.  Turn it off in your config, post a revision, can't accept it.

Reviewers: epriestley

Reviewed By: epriestley

CC: aran, Korvin

Differential Revision: https://secure.phabricator.com/D2900
Minor, unlock after discovery exception.