Use initializer list for LiteralReadInstr<T>

This allows us to initialize every array element to zero.
Add DereferenceReadInstr<T, U[N]>

Allows us to introspect memory load instructions on fixed-sized arrays.
Fix static type inference bug on UnaryReadInstr results