Fix JS plugin load when using non-root Gerrit URLs

When Gerrit is not on the root URL path the JS plugins
failed to load because of the exact matching required
on the request URL.

Current check is now more flexible by checking only 
the suffix of the JS plugin path.

NOTE: In theory this may recognise even different URLs
than the intended one (e.g. /gerrit/bla/bla/bla/plugins/...)
but however they would not land on the HttpPluginServlet
anyway. That's why "endsWith" is good enough for this check.

Change-Id: I299b244a9fcdc9b00175e2054a7ba7363620979b
Display parents for all changes, not only merge commits

Bug: issue 2279
Change-Id: Iab4930b53e7968f2d6ae1e874b4b474004b4557b
Set version to 2.9.1

Change-Id: I353ef649fc7066f6e1d0cc50beee3b617b1862f7
Release notes for Gerrit 2.9.1

Change-Id: Ic5ed2f40af8f544e9f340695e8ce06e91ec08cd9
Fix: permission on user specific reference name cannot work

In ExpandParameters.match() the parameter 'ref' may also contain
"${username}", e.g. in ProjectControl.canPerformOnAnyRef() the call
on controlForRef() puts in a access section name, in this case 'ref'
also need evaluation before doing next match, else it will not be
matched and that section is skipped in preparing RefControl.relevant,
as a result when a user has PUSH power *only* on that section, Gerrit
will reject any upload request from this user.

Fixed. evaluate any per-user ref in ExpandParameters.match().

Change-Id: I42c8e15d147eb4ad031b929cf51ccfc1e17a16e3
Update 2.9.1 release notes

Change-Id: If2689e3c80d3b5910f63e4be242cacdb4cf70e76
Update 2.9.1 release notes again

Change-Id: I77bc7b8bde59fac06b5caaa3c9eca5fff9935f78