Assorted refactoring

Mostly removing duplication. Also added a comment as suggested by
Andrew.

Bug: 161471326
Test: composd_cmd async-odrefresh

Change-Id: I7da83cb825de7b4fd2267b1e496808a423544c16
diff --git a/compos/src/compilation.rs b/compos/src/compilation.rs
index 7eaae5d..2ca4dd4 100644
--- a/compos/src/compilation.rs
+++ b/compos/src/compilation.rs
@@ -148,8 +148,7 @@
         }
     }?;
 
-    let exit_code = ExitCode::from_i32(exit_code.into())
-        .ok_or_else(|| anyhow!("Unexpected odrefresh exit code: {}", exit_code))?;
+    let exit_code = ExitCode::from_i32(exit_code.into())?;
     info!("odrefresh exited with {:?}", exit_code);
 
     if exit_code == ExitCode::CompilationSuccess {