avb: move error module to libavb

The libavb Rust wrappers are moving to //external/avb to make them more
widely available and keep them closer to the C source.

To keep CLs manageable, this is being done in smaller chunks. This first
CL just moves the error module over.

A few minor changes were necessary to split out some pvmfw-specific
error conditions from the generic libavb errors (e.g. requirements on
the shape of the vbmeta image).

Bug: b/290110273
Test: atest results unchanged from pre-patch
Change-Id: Iacef297bfb72e560890971e9e158c55f46cf0583
diff --git a/pvmfw/avb/tests/utils.rs b/pvmfw/avb/tests/utils.rs
index 79fdfff..86d2398 100644
--- a/pvmfw/avb/tests/utils.rs
+++ b/pvmfw/avb/tests/utils.rs
@@ -22,7 +22,7 @@
     AvbVBMetaImageHeader,
 };
 use openssl::sha;
-use pvmfw_avb::{verify_payload, AvbSlotVerifyError, DebugLevel, Digest, VerifiedBootData};
+use pvmfw_avb::{verify_payload, DebugLevel, Digest, PvmfwVerifyError, VerifiedBootData};
 use std::{
     fs,
     mem::{size_of, transmute, MaybeUninit},
@@ -39,7 +39,7 @@
     kernel: &[u8],
     initrd: &[u8],
     trusted_public_key: &[u8],
-    expected_error: AvbSlotVerifyError,
+    expected_error: PvmfwVerifyError,
 ) -> Result<()> {
     assert_payload_verification_fails(kernel, Some(initrd), trusted_public_key, expected_error)
 }
@@ -48,7 +48,7 @@
     kernel: &[u8],
     initrd: Option<&[u8]>,
     trusted_public_key: &[u8],
-    expected_error: AvbSlotVerifyError,
+    expected_error: PvmfwVerifyError,
 ) -> Result<()> {
     assert_eq!(expected_error, verify_payload(kernel, initrd, trusted_public_key).unwrap_err());
     Ok(())