nir/test: add split vars tests (v2)

This just adds some split var splitting tests, it verifies
by counting derefs and local vars.

a basic load from inputs, store to array,
same as before but with a shader temp
struct { float } [4] don't split test
a basic load from inputs, with some out of band loads.
a load/store of only half the array
two level array, load from inputs store to all levels
a basic load from inputs with an indirect store to array.
two level array, indirect store to lvl 0
two level array, indirect store to lvl 1
load from inputs, store to array twice
load from input, store to array, load from array, store to another array.
load and from input and copy deref to array
create wildcard derefs, and do a copy

v2: use array_imm helpers, move derefs out of loops,
rename toplevel/secondlevel, use ints, fix lvl1 don't split test,
rename globabls to shader_temp, add comment, check the derefs type

Reviewed-by: Caio Marcelo de Oliveira Filho <caio.oliveira@intel.com>
10 jobs for master in 9 minutes and 15 seconds (queued for 1 second)
Status Job ID Name Coverage
  Containers Build
passed #309481
debian

00:00:23

 
  Build+Test
passed #309483
meson-clang

00:07:24

passed #309487
meson-clover

00:08:51

passed #309486
meson-main

00:06:04

passed #309482
meson-swr-glvnd

00:06:18

passed #309488
meson-vulkan

00:02:49

passed #309490
scons-llvm

00:04:25

passed #309489
scons-nollvm

00:03:45

passed #309484
scons-swr

00:05:39

passed #309485
scons-win64

00:06:56