Add a %s formatter for Surface
Document toString usage

This commit implements the standard format for each UDT. The idea
behind having a standard set of toString format specifiers is to
make the library easier to use for the end user.

Each UDT will have a %s specifier to output a human-readable
format. Each will also have a %d format specifier to output
a diagnostic format for debugging purposes.

See also
http://wiki.dlang.org/Defining_custom_print_format_specifiers
Adjust code formatting
Add the standard format specifiers
Document toString
Some tweaks to toString
Fix a typo
Add %s format specifier to MoveList
Improve the diagnostic toString algorithm
Document MoveList.toString
Add a %s format specifier to Board.toString

The format is in FEN encoding and includes all data except the
full move number (because that number is not maintained by the
board but is expected to be maintained in another part of the
users engine code).
Document Board.toString
Test the new FEN serialization for Board
Add toString to XiaoBoard
Merge pull request #95 from joichiro/tostring

Define a standard set of toString format specifiers