glsl/loops: Get rid of loop_variable_state::max_iterations.

This value is now redundant with
loop_variable_state::limiting_terminator->iterations and
ir_loop::max_iterations.
WIP
glsl/loops: Stop creating normatively bound loops in loop_controls.

Instead, create informatively bound loops, since these are more likely
to compile into efficient code.

This requires loop_controls to leave the limiting terminator in the
loop.  As a result, when deciding whether to unroll a loop, we have to
account for the fact that the limiting terminator is there, and just
before doing the unrolling, we have to remove it.

This should result in more efficient code generation when a loop with
a known bound is not inlined, since previously, a loop like this:

    for (int i = 0; i < 3; i++) {
      ...computation involving i...;
    }

would get transformed by loop_controls into this (pseudocode):

    int i = 0;
    loop (normative_bound 3) {
      ...computation involving i...;
      i++;
    }

which at code-generation time, would get lowered to:

    int i = 0;
    int j = 0;
    for (int j = 0; j < 3; j++) {
      ..computation involving i...;
      i++;
    }

and the loop would require two registers to hold the loop index
instead of 1.

Now, loop_controls preserves the original structure of the loop, which
is:

    int i = 0;
    loop (informative_bound 3) {
      if (i >= 3)
        break;
      ...computation involving i...;
      i++;
    }

Since no lowering is required for informative bounds in the back-end,
this can get code generated without using up an extra loop index
register.
Get rid of lower_bounded_loops and ir_loop_normative_bound