Support creating OS X bundle when building in a build subdirectory.
nash.py: fix runtime error with rational not assigned

Now the external solvers should work.
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.
Implement operation to copy subgame to independent game.

Refactor a function previously in the solve-by-subgame module,
which copies a subgame rooted at a given node to an independent
game representation.
Implement more flexible interface for game serialization.

Add a new member function to the Game model, Write(), which subsumes
all serialization methods.  Which output format is desired is specified
by an optional parameter, which defaults to 'native'.

Any implementation of game should implement its 'native' output filter,
which should be appropriate to the underlying representation method.
In addition, implementations may support other types of output filters
for conversion purposes.

The Python API has been revised to conform to this convention, and
the Python APi documentation has been updated accordingly.
Update some details on building from the git repository and building the Python API.
Rationalize location of implementation of game tree-specific objects.