refactor Board into ChessNode, add print ability, start legal move logic, minor cleanup