Added minimax, abstracted out the board so you can pass in a new board (minimax board, or game board), made a rules.rb module and Li-Hsuan and I fixed a lot of broken things through making the tests pass