Buck: Add 'withdocs' as an alias for '//:withdocs'

Also expand the documentation in dev-buck to include this
build target.

Change-Id: I564734ca291b081db6a030978b631ae732b19bc8
Fix broken formatting in pgm-init.txt

Change-Id: I8637ac3514ec7858b68292aad589f02ea46e12da
Make PermissionCollection constructor take perUser boolean

Previously the username string was used to determine if the collection
isUserSpecific. Simplify the code to just take the condition in the
constructor.

Change-Id: I8313866d3c9435e57dde078c67a19db7be6baca3
Support expanding ${username} references to email address.

All users have an email address but may not have a username. This
allows users to create refs with any email address associated
with their account.

Change-Id: Ia17caf40652839f8ac1c7c2177b4579632c01973
Fix the section titles in config-gerrit.txt.

Bug in asciidoctor won't handle the section title in TOC correctly if we also
have an anchor in the title, causing the TOC to be unclickable.

While asciidoctor is working on a fix, we can also fix it from the doc source.

Change-Id: I10abc0f31ad5cff952100ed07109e9ad28ca0ecd
Merge "Buck: Add 'withdocs' as an alias for '//:withdocs'"
Merge "Fix the section titles in config-gerrit.txt."
Merge changes Ia17caf40,I8313866d

* changes:
  Support expanding ${username} references to email address.
  Make PermissionCollection constructor take perUser boolean
Update download-commands plugin to latest revision

* Always show repo download command if repo download scheme is enabled

Change-Id: I939d25897197717b4a45047b7d454cbdb9d8de12
Wait for UI plugins to load

If a screen is registered by a plugin this registration needs to be
completed before the dispatcher tries to parse the token.  Wait for
plugin scripts to finish loading and evaluating.  The old method of
injecting a script tag was not waiting correctly, especially for GWT
based plugins.

JavaScript plugins are now required to use Gerrit.install() as this
method updates internal Gerrit state tracking the script.  Not using
install() will eventually cause the UI to report the plugin as failing
to load.

GWT plugins must override onPluginLoad() not onModuleLoad().  All
plugins must recompile with the new glue code, as there is now a
handshake between the GWT plugin and the main Gerrit code.

All plugins must load within 5 seconds, otherwise the page marks them
as failed and reports loading errors.  During loading a glass pane is
used to prevent the user from interacting with a partial initialized
UI.  Plugins may be making critical contributions that need to be
registered before use.

A chunk of the API glue code was moved around to make each JSNI block
smaller, and better isolate purpose.  Plugin is now declared in its
own Java class.

Plugin instances are now tracked in the map $wnd.Gerrit.plugins.
This allows the main code to later figure out if any instance failed
to load. Any loading errors are usually reported on the JavaScript
console as script failures, and may include stack traces.

Change-Id: Id03581437ae1010cf995ef7ba8626ece37dfc2f4
Merge "Wait for UI plugins to load"
Fix edit message button in old change screen

This is a revision property, not a change property.

Change-Id: I8ab4a900dd7dcb18fc3440e246b6b31f162f5a4b
SideBySide2: Focus on A for deleted files

When a file is deleted the B side does not exist.
Focus on the A side instead.

Change-Id: I14a72e3ca4e483ec1aff68d402d4dd86b0496497
Update download-commands plugin to latest revision

To get fixes merged from stable-2.8:

* Always show repo download command if repo download scheme is enabled

Change-Id: I8de4c0c19073fb7b5ea2d9e8e34e0a7e1944ace4
Merge branch 'stable-2.8'

* stable-2.8:
  Update download-commands plugin to latest revision
  Fix broken formatting in pgm-init.txt

Change-Id: Ie0fbd19167e68537ce6a2aa8d62ea5877b8c578e
ChangeScreen2: Add mouse hover highlight to file table

Some users noted this table is wide and its hard to correlate file
path with size or number of comments when there are many files updated
in a single change.  Add a light blue background under the row the
mouse is hovering on, giving the user a bit more context to find all
related data cells.

Change-Id: I62c81d640c9e17926ccfd8827c89739a7632adba
ChangeScreen2: Click anywhere in path column to open file

Instead of requiring a precise click on the path name itself, accept
the entire path column as the click target.  This allows users to hit
a much larger area, which is easier on short file names like 'README'
or 'BUCK'.

Change-Id: I071c6394a33d08eba9b8ce252e92690106e8a743
Merge "SideBySide2: Focus on A for deleted files"
Merge "ChangeScreen2: Add mouse hover highlight to file table"
Merge "ChangeScreen2: Click anywhere in path column to open file"