Added isWinnable method to maze

*Added isWinnable method to maze
and its helper methods.

NOTE: this doesn't work yet because the doors are not yet instantiated
properly.

*Added gameWinnable method to game, to tell the game client if the maze
is winnable.
This method has been added to the main game loop, but is commented out
for the moment as it produces an error (see above why)

The method needs to be tested to ensure validity.
Included some thoughts about coding conventions

See summary.