add support for ShieldStateCode (ref: matrix-org/matrix-rust-sdk#3786)
add error_on_verified_user_problem field in device-based strategy (ref: matrix-org/matrix-rust-sdk#3810)
since the device-based strategy was getting more complicated with new fields, I opted to change the JavaScript interface so that it's more structured, rather than trying to throw new variants into the enum to cover all the options
add decryption settings for checking sender device trust (ref: matrix-org/matrix-rust-sdk#3899)
expose the functions for handling identity pinning and previously-verified users (ref: matrix-org/matrix-rust-sdk#3846, matrix-org/matrix-rust-sdk#3795, matrix-org/matrix-rust-sdk#2629)
changes:
ShieldStateCode
(ref: matrix-org/matrix-rust-sdk#3786)error_on_verified_user_problem
field in device-based strategy (ref: matrix-org/matrix-rust-sdk#3810)