codegen: some cleanup of layout computations (#55730)
Change Alloca to take an explicit alignment, rather than relying on LLVM
to guess our intended alignment from the DataLayout.
Eventually we should try to change this code to just get all layout data
from julia queries (jl_field_offset, julia_alignment, etc.) instead of
relying on creating an LLVM element type for memory and inspecting it
(CountTrackedPointers, DataLayout, and so on).