Support multiple triggers

Add the ability for Zuul to accept inputs from multiple trigger
sources simultaneously.

Pipelines are associated with exactly one trigger, which must now
be named in the configuration file.

Co-Authored-By: Monty Taylor <mordred@inaugust.com>

Change-Id: Ief2b31a7b8d85d30817f2747c1e2635f71ea24b9
diff --git a/etc/layout.yaml-sample b/etc/layout.yaml-sample
index eec8553..b49f5d5 100644
--- a/etc/layout.yaml-sample
+++ b/etc/layout.yaml-sample
@@ -2,7 +2,8 @@
   - name: check
     manager: IndependentPipelineManager
     trigger:
-      - event: patchset-created
+      gerrit:
+        - event: patchset-created
     success:
       verified: 1
     failure:
@@ -11,8 +12,9 @@
   - name: tests
     manager: IndependentPipelineManager
     trigger:
-     - event: patchset-created
-       email_filter: ^.*@example.org$
+      gerrit:
+        - event: patchset-created
+          email_filter: ^.*@example.org$
     success:
       verified: 1
     failure:
@@ -21,15 +23,17 @@
   - name: post
     manager: IndependentPipelineManager
     trigger:
-      - event: ref-updated
-        ref: ^(?!refs/).*$
+      gerrit:
+        - event: ref-updated
+          ref: ^(?!refs/).*$
 
   - name: gate
     manager: DependentPipelineManager
     trigger:
-      - event: comment-added
-        approval:
-          - approved: 1
+      gerrit:
+        - event: comment-added
+          approval:
+            - approved: 1
     start:
       verified: 0
     success: