Align KeyMint AIDL with usage

 - Make HardwareAuthToken nullable on begin()
 - Drop unused vestigial performOperation() entrypoint
 - Drop unused Tag::BLOB_USAGE_REQUIREMENTS

Test: TreeHugger, VtsKeyMintAidlTargetTest (CF)
Change-Id: Ief6a9c97456cdf7e7626ff26a875792584c40199
diff --git a/keystore2/src/security_level.rs b/keystore2/src/security_level.rs
index c654c02..e4af009 100644
--- a/keystore2/src/security_level.rs
+++ b/keystore2/src/security_level.rs
@@ -293,8 +293,6 @@
             )
             .context("In create_operation.")?;
 
-        let immediate_hat = immediate_hat.unwrap_or_default();
-
         let km_blob = SUPER_KEY
             .unwrap_key_if_required(&blob_metadata, km_blob)
             .context("In create_operation. Failed to handle super encryption.")?;
@@ -316,7 +314,7 @@
                         purpose,
                         blob,
                         &operation_parameters,
-                        &immediate_hat,
+                        immediate_hat.as_ref(),
                     )) {
                         Err(Error::Km(ErrorCode::TOO_MANY_OPERATIONS)) => {
                             self.operation_db.prune(caller_uid, forced)?;