Add field access & modify JVMTI callbacks

This adds support for the FieldAccess and FieldModification callbacks
in JVMTI and all other functions and behaviors associated with the
can_generate_field_modification_events and
can_generate_field_access_events capabilities.

Tests follow in the next CL.

Bug: 34409228
Test: ./test.py --host -j40

Change-Id: Id18fc53677cc1f96e1460c498ade7607219d5a79
diff --git a/runtime/method_handles.cc b/runtime/method_handles.cc
index 090bac1..f0d3cae 100644
--- a/runtime/method_handles.cc
+++ b/runtime/method_handles.cc
@@ -822,7 +822,7 @@
                                            ObjPtr<mirror::Object>& obj,
                                            ArtField* field,
                                            Primitive::Type field_type,
-                                           const JValue& value)
+                                           JValue& value)
     REQUIRES_SHARED(Locks::mutator_lock_) {
   DCHECK(!Runtime::Current()->IsActiveTransaction());
   static const bool kTransaction = false;         // Not in a transaction.