Add some move constructors and assignment operators to CameraMetadata.

This avoids unnecessary copying of camera metadata which can get
expensive in cases of large camera metadata blobs.

Bug: 71727540

Test: GCA (sanity)
Test: Add CallStack::logStack() in CameraMetadata's move asignment
      operator -> see that it gets called for every insertResultLocked.

Change-Id: I6c75c7ce5267126916c865b028e5f7c7f50b763b
Signed-off-by: Jayant Chowdhary <jchowdhary@google.com>
diff --git a/services/camera/libcameraservice/device3/Camera3OutputUtils.cpp b/services/camera/libcameraservice/device3/Camera3OutputUtils.cpp
index 39b7db4..238356e 100644
--- a/services/camera/libcameraservice/device3/Camera3OutputUtils.cpp
+++ b/services/camera/libcameraservice/device3/Camera3OutputUtils.cpp
@@ -153,9 +153,9 @@
     }
 
     // Valid result, insert into queue
-    List<CaptureResult>::iterator queuedResult =
+    std::list<CaptureResult>::iterator queuedResult =
             states.resultQueue.insert(states.resultQueue.end(), CaptureResult(*result));
-    ALOGVV("%s: result requestId = %" PRId32 ", frameNumber = %" PRId64
+    ALOGV("%s: result requestId = %" PRId32 ", frameNumber = %" PRId64
            ", burstId = %" PRId32, __FUNCTION__,
            queuedResult->mResultExtras.requestId,
            queuedResult->mResultExtras.frameNumber,