Upgrade Jsch library to version 0.1.50.

Upgrade to version 0.1.50 to fix JSchException: verify: false that
from time to time.
Update build-config dependency version
Encode ID used in REST endpoint URL

The Gerrit documentation says following:

  "All IDs that appear in the URL of a REST call (e.g. project name,
  group name) must be URL encoded."

As this wasn't done, project where the name was something
like "parent/project" didn't get messages from Gerrit.

The branch name can also have characters that must be encoded.
Update documentation link to latest release

2.1.4 is pretty old and there's some new operators in
(at least) 2.8.
Use constant instead of magic string

Use org.apache.commons.lang.CharEncoding.UTF_8 as
encoding instead of "UTF-8" -string.
Fixed usage of serverName in regards to ANY_SERVER
[maven-release-plugin] prepare release gerrit-trigger-2.11.0-beta-2
[maven-release-plugin] prepare for next development iteration
Update build-config dependency version
One more "Any Server" fix.

Also changed some methods that returned LinkedList to List
This var is not needed any more.

Quick fix for working as before with templates plugin
[maven-release-plugin] prepare release gerrit-trigger-2.11.0-beta-3
[maven-release-plugin] prepare for next development iteration
Update build-config dependency
Fix JENKINS-21067 by jumping hoops
[maven-release-plugin] prepare release gerrit-trigger-2.11.0-beta-4
[maven-release-plugin] prepare for next development iteration
Update build-config dependency versions

Because maven release is derpy as usual.
Added a "Forbidden Files" optional parameter to Gerrit Projects

This forbidden file allows the project not to trigger if any forbidden
file has been impacted. This is very useful in chained scenarios. For
example, let's assume projectA upstream triggers projectB downstream.
Then if a commit affects both A and B, you may (depending on
configuration) want that A triggers and B wait for A to finish, and then
trigger B. This would be the case in particular if B uses artifacts from
A. Since A is triggering B anyways, no need for B to trigger. In that
case, this commit allows you to define the files in "A" as forbidden to
trigger a gerrit event in B. This means that such a commit affecting
both projects A and B will only trigger A. B will be built as usual as a
downstream element of A. Yet, a commit affecting only B will still
trigger a build of B. This is a very specific use case, but in this use
case, only this commit can satisfy the requirement.

Amends: broken style-checks and forgotten test changes
Delayed approval mechanism [FIXED JENKINS-11409]

This patch introduces the possibility for a delayed approval to be sent
back to Gerrit. This is a relatively advanced use case, so the setting
has been placed in the Advanced section for the Trigger settings.
When one selects "delayed approval", the completion of the build will
NOT send an approval back to Gerrit. Instead, the triggering event stays
open, and needs to be closed later on. This can be done by using the new
post-build action "Send a Gerrit delayed approval". At the moment, this
notifier expects to read the name of the job and build number from build
variables. If these point to an existing build which has a Gerrit event
as a trigger, which has not been submitted due to "delayed approval",
then that approval will be sent. In particular, this allows to modify
the status of that build through other job (e.g., using Groovy scripts),
and mark it UNSTABLE (e.g., if a subsequent build were to fail), which
is a way one can change the result of the Approval in Gerrit.

Amends: fixed broken style and broken unit tests