Add job inheritance and start refactoring

This begins a lot of related changes refactoring config loading,
the data model, etc., which will continue in subsequent changes.

Change-Id: I2ca52a079a837555c1f668e29d5a2fe0a80c1af5
diff --git a/tests/fixtures/layout.yaml b/tests/fixtures/layout.yaml
index 99b135c..e30147f 100644
--- a/tests/fixtures/layout.yaml
+++ b/tests/fixtures/layout.yaml
@@ -3,7 +3,7 @@
 
 pipelines:
   - name: check
-    manager: IndependentPipelineManager
+    manager: independent
     source:
       gerrit
     trigger:
@@ -17,7 +17,7 @@
         verified: -1
 
   - name: post
-    manager: IndependentPipelineManager
+    manager: independent
     source:
       gerrit
     trigger:
@@ -26,7 +26,7 @@
           ref: ^(?!refs/).*$
 
   - name: gate
-    manager: DependentPipelineManager
+    manager: dependent
     failure-message: Build failed.  For information on how to proceed, see http://wiki.example.org/Test_Failures
     source:
       gerrit
@@ -48,7 +48,7 @@
     precedence: high
 
   - name: unused
-    manager: IndependentPipelineManager
+    manager: independent
     dequeue-on-new-patchset: false
     source:
       gerrit
@@ -59,7 +59,7 @@
             - approved: 1
 
   - name: dup1
-    manager: IndependentPipelineManager
+    manager: independent
     source:
       gerrit
     trigger:
@@ -73,7 +73,7 @@
         verified: -1
 
   - name: dup2
-    manager: IndependentPipelineManager
+    manager: independent
     source:
       gerrit
     trigger:
@@ -87,7 +87,7 @@
         verified: -1
 
   - name: conflict
-    manager: DependentPipelineManager
+    manager: dependent
     failure-message: Build failed.  For information on how to proceed, see http://wiki.example.org/Test_Failures
     source:
       gerrit
@@ -108,7 +108,7 @@
         verified: 0
 
   - name: experimental
-    manager: IndependentPipelineManager
+    manager: independent
     source:
       gerrit
     trigger: