Create a new Solver (BruteSolver)
Add the Board::copy method

Also some tests for it, and a bonus optimisation on Board::clear
[1/X] Implement brute-force solver

Here we add the basic "flow" to the algorithm. We are still missing the actual "processing" of each node. Also, we have lots of room for improvement, including a HUGE memory leak problem. Like, HUGE!!! Just take a look at that little return statement in the middle of the solve method and weep. MUAHAHAHAHA!!!