stage2: LLVM codegen of arrays should use type length, not value length

It is possible for the value length to be longer than the type because
we allow in-memory coercing of types such as `[5:0]u8` to `[5]u8`. In
such a case, the value length is 6 but the type length if 5.

The `.repeated` value type already got this right, so this is extending
similar logic out to `.aggregate` and `.bytes`. Both scenarios are
tested in behavior tests.

Fixes #11165
a859f94644Mitchell Hashimoto committed on 3/15/2022, 12:41:12 AMparent5ea94e7
3 files changedLine totals unavailable