Remove the generateHttpPassword capability

Remove the Generate HTTP Password capability because it exposes a
security vulnerability.  Any user that is granted this capability
can modify an administrator's http password and impersonate the
admin user.  Other reasons for removing this capability are that
the usage of it is inconsistent with the modifyAccount capability
and this capability encourages adding additional capabilities to
restrict permissions, which is not desired.

With this change only administrators are allowed to generate and
delete other users' http passwords.

The motivation behind this change is from comments in changes
Ib1971fad and If8296539.

Change-Id: Id907cc103591eed029fd08af700bb1bb6a618ff8
Close security hole allowing normal user to become admin

Icc105c39e introduced severe security problem, allowing non admin
users that was granted modifyAccount capability to modify SSH keys
of all users, including administrators. But that means such a user
can change the authentication of an existing administrator and then
impersonate the admin to elevate their own account status to that
of an admin.

Rectify it but restricting changing of SSH keys for a user only to
members of administrators group.

Change-Id: If82965391369121b282b969e7072a2bfa3074be9
Add filtering options to ListBranches REST API

Add substring and regex options. Those options are supported by other
similar REST API (ListProjects, ListGroups).

Also removed the @Singleton annotation because it can no longer be
a singleton since the endpoint support options.

Change-Id: Iec21c01718e1bf62a21b9a765935d19d9f670d00
Add pagination options to ListBranches REST API

Add limit and skip options to allow pagination. Those options are
supported by other similar REST API (ListProjects, ListGroups).

Change-Id: I2d14c8cc33f00033ef894b550e29e377ac5778b6
Update Guice version to 4.0-beta5

Beta 5 releases the fix to Cookie mutability bug [1], so that we can
switch again to Central repository and don't need custom Guice
guice-servlet build.

[1] http://code.google.com/p/google-guice/issues/detail?id=806

Change-Id: Ia766f3d9163afdae06ea7c702824909a8349b98e
Add abstract methods to the ChangeEvent hierarchy

There is some common information in the ChangeEvent hierarchy, such as
the type string, the change, and the project, that is not expressed in
the old POJO hierarchy. Add a few convenience methods that can be used
if the user has just a ChangeEvent, but which do not affect the JSON
serialization.

Change-Id: I22aadf76835528a63743bd758b5d6868dad212ed
Initial release notes for Gerrit 2.10

Change-Id: Iccaf7d4ea66eff290967c41ee70348a4dfc4511b
Add throwable cause of REST API error to request

When an exception is thrown during processing of a REST API request,
the exception is converted to a simplified error message. The full
contextual detail of the exception may be useful for troubleshooting.
This patchset modifies exception handling routines in the REST API
to store the exception in the request, where it may be accessed by
a debugger or filter.

Change-Id: I6495d3fb72b755b91b77f05de247b2dd03a8fe2c
Merge "Add throwable cause of REST API error to request"
Allow to create javadocs for multiple packages

Change-Id: Ia3de0458603dbe14f510b2edadf6ea44406b820e
Merge branch 'stable-2.10'

* stable-2.10:
  Initial release notes for Gerrit 2.10
  Update Guice version to 4.0-beta5

Change-Id: I2725380fdb82b023e70b0c92280b2f25bd8c141a
Merge "Add abstract methods to the ChangeEvent hierarchy"
Update replication plugin to latest revision

- Update ChangeEvent implementations

Change-Id: I07bee23d02b84c95f73771827251261d51eed54d
Merge changes I2d14c8cc,Iec21c017

* changes:
  Add pagination options to ListBranches REST API
  Add filtering options to ListBranches REST API
Remove unused import in RunAsFilter

Change-Id: Ic6044f2cb899d04683a7ff81d0e1725784659f2b
Expose gwtexpui in plugin API

Change-Id: Ia8221639831f0731dbd65f68d1879526ca416783
Merge changes Ia8221639,Ia3de0458

* changes:
  Expose gwtexpui in plugin API
  Allow to create javadocs for multiple packages
Merge changes If8296539,Id907cc10

* changes:
  Close security hole allowing normal user to become admin
  Remove the generateHttpPassword capability
Update 2.11 release notes

Mention removal of the generateHttpPassword capability.

Change-Id: I59a4aaf37bde1b9df7a5a293235847ec556cfa6a
Style guide about multiple AutoCloseables in the same try block

Change-Id: Ieb97b477de28dbc9cc4cfebcc219fbe3a75cbf99