Changed evalFunc

Changed evalFunc to have conditions for winning, losing, and ties.
Originally, evalFunc didn't have these conditions and so would not
default to PosInf, NegInf, and 0 respectively for them.
Added pure AI game and simplified some functions

AIGame.hs is a temporary file that is used for a pure AI vs AI match.
Until I get a hang of optparse-applicative, this will be useful for
benchmarking speed.

I have also modified playMove so that it will not always check
isValidMove (playMove is used by both the computer and the player and
the computer will never enter an invalid move). This gives a small
performance boost to the AI.

sameEntries has also been modified to something which theoretically is
faster, but which hasn't really seen any performance boosts in real
life.