Issue #48
Simplify
Remove source links
Convert comment headers to documentation blocks
Trivial changes to get 100% test coverage
Add test coverage for Board.toString
Test all paths in Board.make
Complete test coverage of Board.parseMove
Complete test coverage of Board.isMoveValid
Remove dead code
Remove some more dead code from Board

Board now has 99% test code coverage. Fail cases for parsePosition
(and its helper function parseSurface) will be added at a later
time when xiao is more fleshed out.

Test code coverage will continue to be less than 100% after
completing the above work because
  1) Some test code for movegen is not currently used at all
     because the tests are passing
  2) For some reason the following default line in a switch
     statement is flagged as zero. However, by design, the code
     will never be reached (by definition of the invariant).
     The code exists to satisfy the compiler.

     default: assert(false);
Finish test code coverage for BoardStatus
Cleanup
Move the position of the invariant
Finish the test code coverage for MoveList
Finish the test code coverage for Surface
Finish the test code coverage of Move