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.
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.
Merge remote-tracking branch 'upstream/master'
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.
Print version information more succinctly

In the Mercury compiler itself, and in a number of tools we print a version
string on one line,

    $ mmc --version
    Mercury Compiler, version rotd-2013-10-01, configured for x86_64-unknown-linux-gnu
    Copyright (C) 1993-2013 The University of Melbourne

When the version number is sufficiently long, such as for an ROTD release, this
will wrap on 80 column terminals.  This change splits these strings into two
parts: the version and the architecture string.  These can then either be
printed more succinctly on one line

    $ mmc --version
    Mercury Compiler, version rotd-2013-10-01, on x86_64-unknown-linux-gnu
    Copyright (C) 1993-2013 The University of Melbourne

Or when written to a file such as the .c files that mmc generates, can be
written out onto two lines:

    XXX

library/library.m:
    Make the version predicate return two values, one for the version number
    and the other for the architecture name.  This makes it easier to format
    the version information in the various places it is used.

compiler/handle_options.m:
deep_profiler/mdprof_cgi.m:
deep_profiler/mdprof_create_feedback.m:
deep_profiler/mdprof_report_feedback.m:
deep_profiler/mdprof_test.m:
profiler/mercury_profile.m:
    Format this as shown above for the Mercury compiler and other tools.

compiler/c_util.m:
compiler/elds_to_erlang.m:
compiler/export.m:
compiler/fact_table.m:
compiler/llds_out_file.m:
compiler/mlds_to_c.m:
compiler/mlds_to_cs.m:
compiler/mlds_to_java.m:
compiler/mlds_to_managed.m:
compiler/write_deps_file.m:
    Format version information on two lines when it is used in the
    compiler's various output files.
Fix samples/rot13_concise + libxml compilation error

boehm_gc/.gitignore:
    Ignore .obj files

extras/xml/xml.dtd.m:
extras/xml/xml.parse.m:
    Change the name of functor ('1') in the multiplicity/0 type
    to one. The former name does not (yet) work with the C# grade.

samples/.gitignore:
    Ignore library output and sample executables.

samples/c_interface/standalone_c/.gitignore:
    Ignore mercury_lib_int output files.

samples/c_interface/standalone_c/Makefile:
    chmod 0644.

samples/c_interface/.gitignore:
    Ignore object files and executables.

samples/java_interface/.gitignore:
    Ignore Java class files and executables.

samples/lazy_list/.gitignore:
samples/muz/.gitignore:
samples/rot13/.gitignore:
    Ignore executables.

samples/rot13/rot13_concise.m:
    Update call to index_det to use string.det_index.
    Added comments to clarify type inference.

samples/solutions/.gitignore:
    Ignore executables.

samples/solutions/all_solutions.m:
samples/solutions/n_solutions.m:
samples/solutions/one_solution.m:
samples/solutions/some_solutions.m:
    chmod 0644.

samples/solver_types/.gitignore:
    Ignore executables.

samples/solver_types/sudoku.m:
    Output the solution in a 3x3 grid.
Merge branch 'version-14_01-branch'
Fix syntax errors in my version string change

library.m:
    As above
Merge remote-tracking branch 'upstream/master'
Merge branch 'master' into fix-extras-ubuntu-mmc.options