Structured errors for getopt and getopt_io.

The getopt and getopt_io modules use strings to describe errors that occur
during option processing.  There are a couple of problems with doing this:

(1) it makes some assumptions about how client programs want to word, and to a
large extent, format these error messages.

(2) it assumes that the error messages are in English.

This diff changes the getopt and getopt_io modules to use structured
representations of errors instead of strings.  This structured representation
is defined by the new option_error/1 type.  We introduce new versions of the
various process_options predicates that are suffixed with "_se" (standing for
"structured error") that return values of type option_error/1 when an error occurs.
A new function, option_error_to_string/1, converts option_error/1 values into
the strings that the getopt and getopt_io modules previously generated.  The
existing process_options predicates are just wrappers around all of this for
the purposes of backwards compatibility.

The new option_error/1 type returns more information than existing error
messages require, for example, where possible we return both the element of the
option enumeration involved and a string giving the option as it actually
appeared on the command line.

library/getopt.m:
library/getopt_io.m:
	Add predicates and types for structured errors as described above.

	Group function clauses together with the corresponding predicate
	ones.

	Avoid unnecessary differences between these two modules in a few
	spots.

NEWS:
	Announce the above changes.
Drop support for Mercury on IRIX.

IRIX itself is more or less dead and the Mercury support for it has not been
tested for many years.

configure.ac:
compiler/notes/overall_design.m:
doc/user_guide.texi:
scripts/mgnuc.in:
	As above.

NEWS:
	Announce the above.
Delete files resurrected by the conversion to git.

scripts/ml.sh:
scripts/mmake.sh:
	As above.
Minor rewording of README.{AIX,HPUX}.

README.AIX:
	As above.

README.HPUX:
	As above, plus fix a cut-and-paste error.
Drop support for OSF/1.

configure.ac:
	Drop support for OSF/1.

	Delete more IRIX stuff.

configure.ac:
runtime/mercury_conf.h.in:
runtime/mercury_thread.h:
	Delete workarounds required when using the Digital Unix pthreads
	library.

Mmake.common.in:
runtime/mercury_wrapper.c:
	Delete stuff for IRIX.

README.OSF1:
	Delete this file.

.README.in:
	Delete the pointers to the readme files for IRIX and OSF/1.

NEWS:
	Announce the dropping of support for OSF/1.
Fix wrong symbol names which broke MR_LOWLEVEL_DEBUG.

MR_OZONE_* was renamed to MR_OVERFLOW_ZONE_* during review
but a few instances remained.

runtime/mercury_overflow.c:
	As above.