Re-enable the use of texi2dvi on Cygwin.

configure.ac:
	Very old versions of Cygwin had a broken texi2dvi, so we disabled its
	use on that platform.  Re-enable its use since it works with the
	current version.
Avoid some C compiler warnings on Cygwin.

library/int.m:
	Avoid warnings about overflows in implicit constant conversions in the
	implementations of {min,max}_int/0 on Cygwin.  The C compiler is
	complaining about where we assign LONG_MIN or LLONG_MIN to a 32-bit
	MR_Integer.  This only occurs in code branches that are dead when
	MR_Integer is 32-bit, so the fix here is just to put in some explicit
	casts.
Improve printing of arbitrary precision integers by io.print etc.

library/stream.string_writer.m:
	Make the print family of predicates print the decimal representation
	of integer/0 values instead of their underlying representation.

library/io.m:
	Update the documentation of io.print to conform to the above change.

	Fix a typo: s/hander/handler/

NEWS:
	Announce the above change.

tests/hard_coded/Mmakefile:
tests/hard_coded/print_bigint.{m.exp}:
	Test printing of integers with io.print.
Make string/1 handle version_arrays in the same way as io.write/3 etc.

library/string.m:
	As above.
NEWS:
	Add a section for 14.01.1 news.

	Mention the above change.

tests/hard_coded/string_string.{m,exp}:
	Extend this test case to cover arrays and version arrays.
Add discrete interval encoding tree module to the standard library.

Discrete Interval Encoding Trees are a highly efficient set
implementation for fat sets.

This implementation is, in large parts, a translation of Caml Diet.
I have permission from the authors to license this version either under
the LGPL, or LGPL/BSD dual license.  We will choose the LGPL for
consistency with the rest of the standard library, but retain the other
option for the future.

library/diet.m:
	Add the new module.

library/library.m:
	Include the new module in the library.

NEWS:
	Announce the above addition.
Fix a typo in the NEWS file.

NEWS:
    As above.
Add enum.det_from_int.

Add a function enum.det_from_int, as requested by Julien and Zoltan.

library/enum.m:
library/diet.m:
	Move det_from_int from diet to enum.

tests/hard_coded/bitmap_simple.m:
	Remove redundant and conflicting definition.
Avoid using non-MSVC command line options with MSVC.

The configure script tests the for the presence of various C compiler command
line options by attempting to compile a small test program with those options.
Testing for command line options this way does not work with MSVC since it will
print a warning about the option not being recognised and then carry on as normal.
There is no way to tell MSVC to treat this warning as an error.

The above behaviour resulted in the Mercury.config file for installations
configured to use MSVC containing flags for non-MSVC compilers.

configure.ac:
	Avoid testing for non-MSVC command line options by compiling a test
	program when we are using MSVC as the C compiler.

	Fix a typo: s/boostrap/bootstrap/
Fix spelling in library documentation.

library/string.m:
library/term.m:
library/term_io.m:
library/version_hash_table.m:
	As above.
Minor fix for README.Java.

README.Java:
	Add a missing word.
Add more entries to .gitignore files

This is a consecutive patch to my previous patch, it extends the .gitignore
files to work more thoroughly on Windows.

browser/.gitignore:
    ignore .net .dll assemblies

compiler/.gitignore:
    ignore *.obj

extras/.gitignore:
    Ignore the tags directory
    Ignore: *.bat, *.lib,
    Ignore *.dll rather than lib*.dll because the .net assemblies are not
    prefixed.

extras/dynamic_linking/.gitignore:
    Ignore *.out (test output files)

extras/error/.gitignore:
    Ignoring unix binary for the error utility

extras/lex/tests/.gitignore:
    Ignore the test_regex binary

extras/moose/tests/.gitignore:
    Ignore array_based.m because it is generated from array_based.moo
Change extras/net/*.m file mode to 0644

extras/net/net.m:
extras/net/sockets.m:
extras/net/tcp.m:
    chmod 644
Improve README.bootstrap

During the bootstrap process it is necessary to clean the build tree between
the initial and complete builds.  This patch describes this and adds
commands to the instructions that clean the build tree.

As compilation can take a long time I've also added a paragraph describing
how to instruct make to run multiple parallel tasks.

README.bootstrap:
    As above.
Merge branch 'version-14_01-branch'

NEWS:
    Merged changes.