Split move generation into its own class
Added the passing of check and checkmate to the heuristic function
We now beat random most of the time, but not the included greedy