Support for parent diff bases in merge changes

With this change, in merge changes, patch ranges can diff against a
specific parent (as indicated by a negative parent index) similarly to
the GWT UI.
- Parent options appear in patch range selectors when available.
- The router no longer redirects parent indexed patch ranges now that
  they are supported.
- The RevisionInfo class is added to house revision related functions in
  a form that's easily passed between components.
- On merge changes the default patch range base is labeled as
  "AutoMerge" rather than "Base".

Feature: Issue 4760
Change-Id: I221ba97e28be52f225f7d90f5f8c5a0f17ddb8c2
diff --git a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html
index 5e23ea3..ccf986e 100644
--- a/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html
+++ b/polygerrit-ui/app/elements/diff/gr-diff-view/gr-diff-view_test.html
@@ -85,7 +85,7 @@
       element._change = {
         _number: 42,
         revisions: {
-          a: {_number: 10},
+          a: {_number: 10, commit: {parents: []}},
         },
       };
       element._fileList = ['chell.go', 'glados.txt', 'wheatley.md'];
@@ -170,8 +170,8 @@
       element._change = {
         _number: 42,
         revisions: {
-          a: {_number: 10},
-          b: {_number: 5},
+          a: {_number: 10, commit: {parents: []}},
+          b: {_number: 5, commit: {parents: []}},
         },
       };
       element._fileList = ['chell.go', 'glados.txt', 'wheatley.md'];
@@ -234,8 +234,8 @@
       element._change = {
         _number: 42,
         revisions: {
-          a: {_number: 1},
-          b: {_number: 2},
+          a: {_number: 1, commit: {parents: []}},
+          b: {_number: 2, commit: {parents: []}},
         },
       };
       element._fileList = ['chell.go', 'glados.txt', 'wheatley.md'];
@@ -407,7 +407,7 @@
         element._change = {
           _number: 42,
           revisions: {
-            a: {_number: 10},
+            a: {_number: 10, commit: {parents: []}},
           },
         };
         element._fileList = ['chell.go', 'glados.txt', 'wheatley.md'];
@@ -448,8 +448,8 @@
         element._change = {
           _number: 42,
           revisions: {
-            a: {_number: 5},
-            b: {_number: 10},
+            a: {_number: 5, commit: {parents: []}},
+            b: {_number: 10, commit: {parents: []}},
           },
         };
         element._fileList = ['chell.go', 'glados.txt', 'wheatley.md'];