Change endpoints for all draft/published comments on a change

We would like to be able to publish all drafts on all patch sets at
once, which implies showing all of them in the reply box first.
Sending multiple requests from the client would be wasteful, so we
need a single endpoint on the change to list all drafts. Similarly, we
need to fetch all published comments at once to line them up in the
history table.

The output of these endpoints is keyed by file, then sorted by patch
set. The typical way a code review proceeds is one file at a time:
correct all comments on one file, regardless of patch set, then move
on to the next file. We avoid a further nested map as this JSON type
would just get a little messy.

Change-Id: I0448f74357a45689a5a125968d3a0219e3d98fa3
9 files changed