glsl: Handle compute shader local_size_{x,y,z} declaration.
glsl/linker: Refactor in preparation for adding more shader stages.

Rather than maintain separately named arrays and counts for vertex,
geometry, and fragment shaders, just maintain these as arrays indexed
by the gl_shader_type enum.
mesa: Replace Current{Vertex,Geometry,Fragment}Program with array.

This should make it easier to add additional shader types
(e.g. compute shaders).
WIP: update switch statements etc
glsl: Change _mesa_glsl_parse_state ctor to use gl_shader_stage enum.
glsl: Make more use of gl_shader_stage enum in link_varyings.cpp.
glsl: Make more use of gl_shader_stage enum in lower_clip_distance.cpp.
glsl: Make more use of gl_shader_stage enum in ir_set_program_inouts.cpp.
mesa: Remove _mesa_progshader_enum_to_string(), which is no longer used.