Add support for specifying the "system" environment type.

The "system" environment type is the environment type that external programs
invoked by the Mercury compiler (e.g. the C compiler) are run in.  That is, it
is the environment type that you get when you run a command use the C standard
library's system() function.  (Or equivalently, the Mercury standard library
predicate io.call_system/4.)

On sane operating systems this is identical to the host environment type.  On
native Windows**, the system environment is whatever command interpreter the
environment variable COMSPEC is pointing to (by default, cmd.exe), regardless
of what value the Mercury option --host-env-type has.  For example. if
--host-env-type is set to "msys" or "powershell" the system environment is
cmd.exe.  The new option allows us to fully describe to the compiler which
environment types we intend it to interact with.  Not being able to specify
this information has been one of the things preventing the powershell
environment from working properly.

** that is, Windows where the Mercury compiler is a native Windows executable,
so not on Cygwin when compiled against cygwin.dll, but on MinGW/MSYS.

compiler/options.m:
	Add a new option, --system-env-type, which allows the "system"
	environment to be specified.

	Make the --env-type option also set the system environment type
	as well as the host and target environment types.

compiler/handle_options.m:
	Handle the new option.  Make --system-env-type default to the value
	of --host-env-type if the former is not given on the command line.

compiler/compile_target_code.m:
	Use the system env type in place of the host env type in spots where
	the former is what is actually meant.

compiler/globals.m:
	Add a slot to the globals structure to hold the system environment
	type.

doc/user_guide.texi:
	Document the new option.