moved board::is_valid_move and board::undo_move to header file
returning valid moves instead of writing to pointer argument in board::get_valid_moves()
board::undo_move now takes undo_data by value
replaced all calls to board::do_move by a new version of it that returns the undo data instead of writing to an argument pointer
changed command argument handling in src/main/squared.cpp