finalizes Board.java implementation. adds several unit tests.