Dependent trigger

This feature adds a Project Dependency system to the gerrit trigger plugin. In the advanced section of the trigger, it is possible to add projects as "dependencies" (a check for cycles is performed at that time to prevent depending on something which depends on self). 
If such a dependency project is added, then when a gerrit event happens which should trigger both the project and its upstream dependency, the new QueueTaskDispatcher will wait for the upstream to finish before building the downstream project.

Known limitation: in "normal" situations, the dispatcher must assume that all projects are triggered before any build is considered in the queue by Jenkins to check if it canRun(). This is usually the case because of a "quiet" period of 3 seconds allowing triggering to complete, even for a large number of projects, before queue is processed.
For the RetriggerAll action and ManualPatchsetCreated, this limitation is not present as there are hooks allowing to guarantee that all projects are triggered before consideration of the queue.