ChangeNotes: Order ChangeMessages in forward chronological order

This matches the ordering of PatchSetApprovals.

Change-Id: Icd8c8428381ff5044deede4ae53bd48e8d040d43
In asciidoc.defs cut the '-s' out of 'passed_src'

Make it a bit easy to read.

Change-Id: Ica9db6c8b1db016bdd997f45005dcbd0d326d426
Merge "In asciidoc.defs cut the '-s' out of 'passed_src'"
Change the return type of ChangeNotes.getChangeMessages()

Changed ChangeNotes so that ChangeNotes.getChangeMessages()
returns a mapping of PatchSet IDs to ChangeMessages instead
of Strings. This allows us to keep the metadata about each
ChangeMessage (i.e. the related patchset, timestamp,
etc).

To construct ChangeMessages, we used the SHA-1 of the
commit in the notedb graph as the uuid for the Key. We
needed that unique identifier for the ChangeMessage because
it's documented in the REST API, but its format wasn't
documented, so it didn't need to be a UUID. The SHA-1 of the
commit should be unique enough.  Note that IDs of existing
messages will change after converting a site to notedb. This
should be fine though because no API actually reads the UUID
field (either the external REST API or anything internal in
Gerrit).

Change-Id: I55a16419cfd73cecf21d97c5a4040f5b6932df32
Buck: Fix lib/codemirror:jar rule by making it repeatable

Replace "mv" with "cp" in //lib/codemirror:jar target. Usage of "mv" is
wrong here, while it makes the rule not repeatable: when the rule is
changed and thus must be reevaluated, it cannot: css and js were moved
and cannot be accessed any more.

Note: That is expected that after applying this change the build of jar
is failing:

  $ buck build lib/codemirror:jar
  cp: cannot stat <path to /buck-out/gen/lib/codemirror/cm3.css>:
  No such file or directory

That's the bug this change is fixing.  To recover wipe out the Buck output
directory:

  rm -rf buck-out

Change-Id: I1bfc5bb10eaa52332043914641a72510c8e539c5
Merge "Buck: Fix lib/codemirror:jar rule by making it repeatable"
Update Buck

Update to the version with expand user home directory feature in
cache directory name [1], [2].

[1] https://github.com/facebook/buck/issues/120
[2] https://github.com/facebook/buck/commit/\
a1ba00118666c39f87354e3c0f2226e6f87c6970

Change-Id: Ib20eb7fee2a692f44c6899e954ca8d70d8eae2a1
Buck: Share buck cache directory between multiple source trees

Change-Id: I37c29caf4aaac13a77c8d12af89816d929af67b2
Decouple plugins from their "jar" external form

Until now all the server-side plugins have been associated
to a single jar file in the /plugin directory.

As first step to allow different forms of plugins
(e.g. script files, directories or anything else that
can provide classes and resources) we need to de-couple
the underlying Jar file from the server side plugin.

We introduce the concept of "plugin-scanner" as the interface
to scan the external form to discover:
- plugin classes
- plugin resources
- plugin meta-data (i.e. Manifest)

Change-Id: I769595a030545a5f272f453c3cf435b74719e1e7