Trim down the public API for Board

The following functionality is now public.
Inside of Board
 - ref Board opAssign(Board rhs) nothrow @safe
 - Piece opIndex(Coordinate square) const pure nothrow @safe
 - void opIndexAssign(Piece value, Coordinate square) nothrow @safe
 - void toString(scope void delegate(const(char)[]) sink,
       FormatSpec!char fmt) const

Outside of Board
 - static bool parsePosition(ref Board result, string xiao)
 - static bool make(ref Board b, string move, out Snapshot snapshot)
 - static void undo(ref Board b, Snapshot snapshot)
 - static void generateMoves(ref Board b)