arb_texture_multisample: add new sampler targets to textureSize

Covers use of the textureSize() glsl builtin with multisample samplers

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
arb_texture_multisample: add new targets to texelFetch

Allows verification of texelFetch with all six flavors of MS sampler.

- Put lod/sample_index in the fourth channel of the texture, so we
    can verify that the correct lod/sample was sampled.
- For multisample targets, render the test pattern rather than uploading
  it. GL won't let us do a direct upload into these texture targets, and
  the alternative (upload to a staging texture; copy to target) is
  even messier.
- Accept sample count as an extra parameter after sampler
- Add existing swizzle option to usage string
- Use smaller formats for multisample tests, to avoid running into some
  hardware limits.

This replaces the earlier arb_texture_multisample-texel-fetch-execution
and arb_texture_multisample-texel-fetch-execution-array tests, and is
much more thorough (it showed Gen7 was still messed up :( !)

V3: - Increase window height so we can test 8x.
    - Don't break the format-based extension checks.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>
arb_texture_multisample: add new test for errors

Tests that glFramebufferTextureLayer produces the correct error for
layer < 0 when used with GL_TEXTURE_2D_MULTISAMPLE_ARRAY. This was
overlooked in the initial mesa implementation of
ARB_texture_multisample, and crashed deep in the driver instead.

V3: - Don't set the window size, we don't care.

Signed-off-by: Chris Forbes <chrisf@ijw.co.nz>