Fix compiler abort during liveness detection.

The compiler would abort during liveness detection on an if-then-else goal
with an unreachable Then branch, due to the Then goal not having its
liveness-related fields initialised.  Bug #51.

compiler/liveness.m:
	    As above.

tests/valid/Mercury.options:
tests/valid/Mmakefile:
tests/valid/bug51.m:
	    Add test case.

NEWS:
	    Announce the change.
Add ".pregen" or ".spf" to MR_GRADE_OPT variable.

".pregen" and ".spf" are settable on the command-line and should
therefore be included in MR_GRADE_OPT.

runtime/mercury_grade.h:
	As above.
Fix a problem with `--output-link-library-flags'.

When printing the list of link library flags, the Mercury compiler would
attempt to perform any shell escapes required by the current shell**.  This was
causing trouble if one of the libraries involved was libstdc++ and the output
of `--output-link-library-flags' was used in a shell script, for example:

   LIB_LD_FLAGS=`$MMC --library stdc++ --output-library-flags`

This results in LIB_LD_FLAGS containing:

    "-lstdc++" -lmer_std -lmer_rt -lgc  -lm

And Doing something like this,

    $CXX -o foo $OBJS $LIB_LD_FLAGS

would then result in a error, as "-lstdc++" would be treated by the C++
compiler as an argument not an option.  This particular use case is fairly
common when using Mercury stand-alone interfaces.

The solution implemented by this change is to output the link library options
as-is when the compiler is invoked with `--output-link-library-flags' (i.e.  do
not attempt to do any shell escapes).  If, for some reason, the library names
do require shell escapes then doing so is the user's problem.
(There's not much the compiler can do anywayw, since it doesn't know how the
user is going to use the output generated by `--output-library-link-flags'.)

** there's a deeper issue here that the compiler's notion of the
"current shell" is not very good in some spots -- I'm thinking specifically of
the the function quote_arg/1 in compiler/options.m.  Ideally, that function
should use the current setting of `--host-env-type' and not try to guess based
on whether dir.use_windows_paths/0 succeeds or not, however that's a problem
for a separate change.

compiler/compile_target_code.m;
	Do not attempt to insert shell escapes into the link library options
	when invoked with --output-library-link-flags.

	Print a newline after the output from --output-library-link-flags.