Upgrade Jsch library to version 0.1.50.

Upgrade to version 0.1.50 to fix JSchException: verify: false that
from time to time.
Move ManualPatchSet class from gerrit-events to gerrit-trigger module

ManualPatchSet is a special event which is only created by gerrit-trigger
to handle patchset triggered manually from Jenkins UI.
Update build-config dependency version
Merge pull request #107 from hugares/jsch-upgrade

Upgrade Jsch library to version 0.1.50.
Merge pull request #108 from hugares/manualpatchsetmove

Move ManualPatchSet class from gerrit-events to gerrit-trigger module
Removed the need for ssh-keygen in tests

It is now possible to run the tests under Windows
Move GerritEventLifecycle and GerritEventLifecycleListener to gerrit-trigger module

These 2 classes are related to the lifecycle of and event in Jenkins so they do not
belong in the gerrit-events module.

Converted the GerritEventLifecycle to an interface that so we could created adaptor
classes in the gerrit-trigger to add lifecycle to any type of event. So far, only
ManualPatchsetCreated requires lifecycle so it is now implementing this interface;
no need for adaptor since ManualPatchset is defined in gerrit-trigger. Also created
a sub class of GerritHandler in gerrit-trigger that is able to fire the lifecycle
events.
Merge pull request #109 from hugares/gerriteventlifecyclemove

Move GerritEventLifecycle and its listener to gerrit-trigger module
Rework GerritEventListener interface, only keep method with GerritEvent

Having one method per type of event is a problem because every time we want
to add a new type, we will break backward compatibility. Brought back
reflection removed a long time ago to allow GerritEventListener implementors
to define method taking a specific type as argument and this method will
be called instead when an event of the specific type is received.

Also clean up duplicated code related to event processing in GerritTrigger.
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.
Merge pull request #110 from hugares/gerriteventlistenerrework

Rework GerritEventListener interface, only keep method with GerritEvent
Merge pull request #111 from jyrkiput/change-id-encoding

Encode ID used in REST endpoint URL
Merge pull request #112 from jyrkiput/update-search-help-url

Update documentation link to latest release
Fixed usage of serverName in regards to ANY_SERVER

Conflicts:
	gerrithudsontrigger/src/main/java/com/sonyericsson/hudson/plugins/gerrit/trigger/hudsontrigger/GerritTrigger.java
Master is now towards 2.12
Added support for RefReplicated and RefReplicationDone events

Defined DTO objects for both events. These events allow to know when
the replication of a ref is completed to a specific node and to all
the nodes.

Change-Id: I6d25b21abcadc078ce9845756e39ab4235caddfa
Remove duplicated implements GerritJsonEvent

All events extends GerritTriggeredEvent which implements GerritJsonEvent,
no need for event to implements the same interface.

Change-Id: I8b866110108f8661a61c3fbf3bc166fbf454bfea
Use documentation from frontend as help

Get frontend url from configuration and use it for displaying
search help.