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.