Merge pull request #10 from TisButMe/improve-chains-handling

Improve chains handling
Make Board.get take two arguments again
Merge pull request #13 from ujh/two-argument-board-get

Make Board.get take two arguments again
fixed the neighbours() method, which was returning incorrect results in corners
Added proper handling for suicide-or-not cases
Added a ruleset field to the board
Suicide now works (only in Tromp Taylor rules)
Changed the return type of play() to Result<Board, IllegalMove>, which will enables checking for legal/illegal plays
Added checks & related tests for suicide plays and playing on a non-empty intersection
Added the rule that state players alternate between black and white
Added the limitation to 19*19 size included in TT rules
Added the ability to pass, and the rule that states that in case of 2 consecutives passes, the game is over
Added a ZobristHashTable type to help with superko rules. Board now stores a reference to a common base table
Added the superko rule. Stumbled upon a bug in the suicide detection implementation, fixed it.
Started to refactor play, more changes incoming
Removed extra methods, that now have better-performance equivalent
Fixed a bug where kos where not detected anymore because of refactoring
Removed extra output and refactored play some more
Refactored play some more
After some refactoring, the board wasn't switching color after a pass