gitlint: screen multiple change-ids

Tested:
```
$ ./scripts/format-code.sh --enable commit_gitlint
    Formatting code under .../openbmc-build-scripts
    Running commit_gitlint
-: UC2 Multiple Change-Ids found in commit message body: "['Change-Id: Iec3501f75927d58bfe176423ce3eac824a0553d9', 'Change-Id: Iec3501f75927d58bfe176423ce3eac824a0553d9']"
commit_gitlint: FAILED
```

Signed-off-by: Patrick Williams <patrick@stwcx.xyz>
Change-Id: Iec3501f75927d58bfe176423ce3eac824a0553d9
diff --git a/config/gitlint/multiple_change_id.py b/config/gitlint/multiple_change_id.py
new file mode 100644
index 0000000..2f71b6d
--- /dev/null
+++ b/config/gitlint/multiple_change_id.py
@@ -0,0 +1,21 @@
+from gitlint.rules import CommitRule, RuleViolation
+
+
+class DuplicateChangeIdEntries(CommitRule):
+    name = "duplicate-change-id-entries"
+    id = "UC2"
+
+    def validate(self, commit):
+        change_ids = [
+            x for x in commit.message.body if x.startswith("Change-Id:")
+        ]
+        if len(change_ids) > 1:
+            return [
+                RuleViolation(
+                    self.id,
+                    "Multiple Change-Ids found in commit message body",
+                    change_ids,
+                )
+            ]
+
+        return None