Add YUI datatable library
Add method for providing server statuses with javascript

This patch provides each GerritServer connection statuses as JSON
format. This feature is expected to access by javascript.
Add jelly binding methods

This patch provides 2 methods. Those can handle GerritServer connection.
Those can access from JavaScript.

And, Those can wait until connection status is actually changed.
Add server status "na" for pseudo mode
Add params to server status
Add server list table to gerrit config
Return typesafe object to stapler

JavaScript method should return typesafe object without converting to
string.
Rename methods and fix wait logic

Change method name from doStart/StopConnection() to doWakeup/doSleep().

In those methods, change below:

* Get connection status from GerritConnectionListener instance
* Return changed connection status as json object
Remove tabs from javascript file

Convert to 4 spaces.
Fix endpoint to wakeup/sleep
Remove connection control form from server config page

Connection control feature is replaced to server list.
So remove form.

GerritServer#doConnectionSubmit is no longer used. So remove it.
Avoid to generate wrong link

If frontEndUrl is empty, wrong link is generated.
This patch avoids it.
Fix checkstyle error
Change redirect page when submitting server config

When save button is pushed, global config and job config are redirected
to upper page. But gerrit server config is stayed in the same page except
when server name is renamed.

This patch always redirects upper page from gerrit server config.
Update test
Add receivedOn time stamp to GerritTriggeredEvent.

Gerrit events can be processed by more than one thread so there is no
garantee that events listeners will get notified for each event in the
same order they were received. Add receivedOn time stamp so listeners
have a way to know if an event came in before/after another one.

Change-Id: I566b6ee2263729e6df2409ebe1dc62110053b9e1
Add RepositoryModifiedEvent interface

RepositoryModifiedEvent represents any event raised by a ref created/changed in
the git repository (PatchsetCreated, DraftCreated and RefUpdated).

An example of usage is the gerrit-trigger: to implement wait for
replication feature, when a GerritEvent is interesting, it must wait
for replication to be complete before starting the build but only for
events that created/changed a ref in the git repository.

Change-Id: Icaec80452e4753ee80b38084978953578b488514
Ugrade Jenkins to 1.509.3

There is an issue with dynamically filled drop down that depends on
another field in the form. If the drop down is nested in the form,
we are supposed to use @RelativePath in addition to the @QueryParameter
but this is not working in 1.480.

Change-Id: Ide59afe293d3dae8171ecd86f75cd38c25583387
Add data structure and UI Support for replication.

The admin can enable replication in server configurations,
add Gerrit slaves, and enable slave selection in jobs.
If the latter is enabled, the user will see a dropdown
containing a list of Gerrit slaves configured with the
Gerrit server that has been selected, and can choose one
slave after which the job will wait for replication events.

Change-Id: Id08852619442290b3b5c8e2f179d10989e98b1af
Implement feature to block build until replication is completed.

Add ReplicationQueueTaskDispatcher that will prevent builds from
leaving the queue until the replication is completed, if replication
is supported and configured for that server. If wait for replication
event times out or if the replication failed, build will be failed.

Add a global configuration parameter to allow configuration of
replication cache expiration time. Replication feature requires a
cache for replication events until we can complile against Jenkins
1.520 which introduce a QueueListener extension point.

Change-Id: I58782c2278c1ef68cae405495178c1ea89e279b8