Add mfilterjavac utility

Add the mfilterjavac utility to filter javac's output and re-write the error
locations.

mfilterjavac/mfilterjavac.m:
    As above

Mmakefile:
configure.ac:
mfilterjavac/Mmakefile
mfilterjavac/MFILTERJAVAC_FLAGS.in:
mfilterjavac/.mgnuc_opts:
mfilterjavac/.mgnuc_copts:
    Adjust the build system to support the new mfilterjavac directory.
Write foreign code line number markers in generated Java code.

compiler/mlds_to_java.m:
    When we compile Mercury to Java that contains foreign code we now write
    out line number markers making it possible to parse the .java file to
    determine the location in the .m file of the foreign code, without
    parsing similar markers used to identify generated code.
Add the --mfilterjavac option to mmc

The new --mfilterjavac option is used to specify a program to filter javac's
output in order to re-write the locations of errors created by Java foreign
code.

compiler/options.m:
    Add the new option.

compiler/compile_target_code.m:
    Handle the new option.
Add caching of line information to mfilterjavac

util/mfilterjavac.m:
    As above.
Make parse errors in mfilterjavac non-critical.

mfilterjavac/mfilterjavac.m:
    As above.