arm: M-profile loads and stores done via helpers should enforce alignment restrictions
M-profile generally requires alignment on its loads and stores. We get this right for those which are done directly from generated code (using the MO_ALIGN and similar flags when we generate load and store ops). However we historically did not have any way to do a load/store from a helper function with an alignment restriction. This has recently changed with the addition of the cpu_*_mmu functions, so we should update the M-profile helper functions to use them.
More specifically, git grep 'cpu_.*_data' target/arm will show up places in m_helper.c and mve_helper.c which are using functions like cpu_ldl_data_ra() to do guest memory accesses. These should be replaced with uses of functions like cpu_ldl_mmu(). The _mmu function takes a MemOpIdx -- that should be created by combining the current MMU state as determined by cpu_mmu_index(env, false) with the extra information about the required alignment.
In the helper functions for vlldm and vlstm there is a manual alignment check and raising of EXCP_UNALIGNED -- this can probably be removed when those functions are converted.
(The hits the grep rune gives in the SME and SVE code don't need changing -- those instructions are fine with unaligned data.)