Flip gerrit_util to raise exceptions on 404 by default

This makes the library behave more like what we'd expect,
while still allowing certain function to specify that
returning 204 or 404 is expected/acceptable behavior.

Change-Id: If3ce5598d1603819ee97aaeab0072a9e786ed96d
Reviewed-on: https://chromium-review.googlesource.com/481043
Reviewed-by: Robbie Iannucci <iannucci@chromium.org>
Commit-Queue: Aaron Gable <agable@chromium.org>
diff --git a/git_cl.py b/git_cl.py
index 2f4979a..bc33bd3 100755
--- a/git_cl.py
+++ b/git_cl.py
@@ -2642,7 +2642,7 @@
 
     try:
       data = gerrit_util.GetChangeDetail(
-          self._GetGerritHost(), str(issue), options, accept_statuses=[200])
+          self._GetGerritHost(), str(issue), options)
     except gerrit_util.GerritError as e:
       if e.http_status == 404:
         raise GerritChangeNotExists(issue, self.GetCodereviewServer())
@@ -2654,9 +2654,12 @@
   def _GetChangeCommit(self, issue=None):
     issue = issue or self.GetIssue()
     assert issue, 'issue is required to query Gerrit'
-    data = gerrit_util.GetChangeCommit(self._GetGerritHost(), str(issue))
-    if not data:
-      raise GerritChangeNotExists(issue, self.GetCodereviewServer())
+    try:
+      data = gerrit_util.GetChangeCommit(self._GetGerritHost(), str(issue))
+    except gerrit_util.GerritError as e:
+      if e.http_status == 404:
+        raise GerritChangeNotExists(issue, self.GetCodereviewServer())
+      raise
     return data
 
   def CMDLand(self, force, bypass_hooks, verbose):