Implement new Windows installer based on WiX toolset.

This implements a build system-compatible approach to constructing Windows
MSI installers, based on the WiX toolset.

* Uses the WiX minimal wizard dialog set; this is serviceable although not
  particularly pretty.
* Provides the GNU GPL license for the dialog set in license.rtf
* Adds static compilation options for Windows build to remove dependency
  on mingw DLLs.

Further cosmetic refinements are likely indicated, but this should establish
the basic framework required.
Improve flexibility of exception hierarchy and reporting.

* Gambit's base Exception class is now derived from std::runtime_error
  instead of std::exception
* InvalidFileException now (optionally) takes a string giving information
  about the parse failure
* The Python implementation of read_game() reports the exception string
  describing the parse failure
When calling external command-line solvers on Windows, do not set close_fds parameter for subprocess.
Extend operator>> on Rational to accept number at end of file.

The previous implementation of operator>> on Rational failed if the
rational number being read came at the end of a file without any
whitespace after the number.

While files are "supposed" to be terminated by a CR, it still seems
desireable to handle this case properly.
Raise exception on invalid Rational numbers.

Exceptions now raised when a Rational number is invalid:
* ZeroDivideException on a zero denominator
* ValueException when reading via operator>> and eof, error, or
  non-numeric data encountered.