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/Android.bp b/pvmfw/avb/Android.bp
index 4efee6a..6c1bdd1 100644
--- a/pvmfw/avb/Android.bp
+++ b/pvmfw/avb/Android.bp
@@ -9,6 +9,7 @@
     prefer_rlib: true,
     rustlibs: [
         "libavb_bindgen_nostd",
+        "libavb_rs_nostd",
         "libtinyvec_nostd",
     ],
     whole_static_libs: [
@@ -45,6 +46,7 @@
     rustlibs: [
         "libanyhow",
         "libavb_bindgen",
+        "libavb_rs_nostd",
         "libhex",
         "libpvmfw_avb_nostd",
         "libopenssl",