Add module to parse input boards from a string.

Change the way boards are initialised - the input should now be a linear
list of elements containing the rows sequentially e.g.

[1, 2, 3, 4] should be parsed as the board
[1 2
 3 4]