Fix string.format with special float values in non-C grades.

The Mercury implementation of string formatting used by the non-C grades did
not handle the various special float values (i.e. nan, inf and -inf) correctly.
For example, nan was with the '%f' conversion specifier was being formatted as
"nan.0".  Similarly, for -inf and inf.

library/string.m:
	In the Mercury implementation of string formatting handle special
	float values correctly.  (We format them as per C99.)

tests/general/string_format_special_floats.{m,exp}:
	Extend this test to cover the capitalized versions of the float
	conversion specifiers.

	Update the formatting of this module.
NEWS:
	Announce the above fix.
Fix the printing of float special values with write_float in C grades.

runtime/mercury_float.c:
	When printing floats, do not append ".0" to nan, inf or -inf.

tests/hard_coded/Mmakefile:
tests/hard_coded/write_float_special.{m,exp,exp2}:
	Add a regression test for the above.

NEWS:
	Announce the above.
Clean up handling of special float values in string.format.

library/string.m:
	Delete old code related to the handling of float special
	values in the Mercury implementation of string.format.

	Delete a commented added in my previous change that is
	incorrect.
Fix printing of special float values in C# grade.

library/string.m:
	In the C# grade, do not append ".0" to a special float
	value when converting it to a string.

tests/hard_coded/write_special_float.exp3:
	Alternative expected output for this for use with the
	Java and C# grades.

NEWS:
	Announce the fix.
Fix a problem that broke install_libgrades on non-Linux systems.

boehm_gc/misc.c:
	GC_setup_mark_lock is only defined if the macro PARALLEL_MARK.
	is defined.  Add the appropriate #ifdef for this.
Merge branch 'version-14_01-branch'

* Fix a problem that broke install_libgrades on non-Linux systems.
* Fix printing of special float values in C# grade.
* Clean up handling of special float values in string.format.
* Fix the printing of float special values with write_float in C grades.
* Fix string.format with special float values in non-C grades.