Handle consequences of tabling pragma checks earlier.

Moving checks on tabling pragmas to add_pragma_tabling.m caused
bootchecks in hlc.gc to fail two test cases. The cause of this was
instead of recording minimal model pragmas in predicate eval_methods
and then much later we reporting their incompatibilities with
the hlc grade, we now report those incompatibilities early,
and (because of the existence of those incompatibilities)
leave the eval_methods of those procedures alone.

The fix is in the changes to tests/invalid. The change to
add_pragma_tabling.m is simply to allow the new diagnostic output
to fit in with the existing diagnostic output.

compiler/add_pragma_tabling.m:
    To allow that fit, change two diagnostics about grade
    incompatibilities that used to be printed without context
    to be printed with context. This does mean that they
    get reported once per pragma and not once per module, but

    - real life code tends not to have such errors, and
    - for test case code, this is what we want, because
      this makes clear the correspondence between diagnostics
      for minimal model tabling between LLDS and MLDS grades.

    Use the context of the pragma being reported, and not
    the context of the declaration of the predicate that
    the pragma applies to, as the context.

    Fix duplicate "is" in a set of diagnostics that we generate
    only in grades in which we disable the two affected tests :-(

tests/invalid/hawkins_mm_fail_reset.err_exp2:
tests/invalid/pragma_qual_error.err_exp2:
    Add these two expected error files that contain
    the now-expected output in MLDS grades.

tests/invalid/hawkins_mm_fail_reset.m:
tests/invalid/pragma_qual_error.m:
    Note which grades should match .err_exp and which .err_exp2.

tests/invalid/hawkins_mm_fail_reset.err_exp:
tests/invalid/pragma_qual_error.err_exp:
    Expect updated line numbers.
