create #InvalidMoveError, refactor #place_pieces, create #move_piece method