refactor mallocarray_t to reflect it should carry jl_genericmemory_t (#55237)
Seems like this `mallocarray_t` container is only carrying objects of
type `jl_genericmemory_t` after the memory work.
Let's:
* Rename the container type to `mallocmemory_t`.
* Make the payload type a bit more strict to ensure a bit more type
safety (i.e. change the `a` field from `jl_value_t *` to
`jl_genericmemory_t *`).
* Add a comment to indicate the pointer tagging in the lowest bit of the
payload.