* DEV-1761: Clean up Ruleset interface (#115)
* remove legacy ruleset types and simplify ruleset interface
* remove unnecessary settings argument from Ruleset interface
* decouple rules.Settings from client API and store settings as strings
* DEV 1761: Add new BoardState and Point fields (#117)
* add Point.TTL, Point.Value, GameState and PointState to BoardState
* allow maps to access BoardState.GameState,PointState
* add PreUpdateBoard and refactor snail_mode with it
* fix bug where an extra turn was printed to the console
* fix formatting
* fix lint errors
Co-authored-by: JonathanArns <jonathan.arns@googlemail.com>
* change map support for large #'s of snakes
* test square board fn
* format comment
* add whitespace
* better support large #'s of snakes on small boards
* include an intermediate xlarge size
* add helper to draw a ring of hazards
* refactor tests to not be internal tests
* add "hz_inner_wall" map
* add "hz_rings" map
* fix map registry
* fix: edge case bugs in drawRing
* remove println
* add "hz_columns"
* add "hz_rivers_bridges" map
* WIP: implementing spiral hazards map
* finish basic testing of 'hz_spiral'
* include first turn
* add "hz_hazards" map
* remove incorrect author
* add "hz_grow_box" map
* add "hz_expand_box" map
* add "hz_expand_scatter" map
* remove debug
* document the new "Range" method
* - use rules.RulesetError instead of generic error
- use a rules.Point for map rivers and bridgets map key
* use rules.RulesetError instead of errors.New
* provide more detail about boundar conditions
* fix documentation (max can be == min)
* add unit tests
* reorganize code
* first draft of map generator interfaces
* add explicit random interface to board helpers
* implement standard map
* rename Generator to GameMap
* allow initializing snakes separately from placing them
* add random number generator to Settings
* updates to GameMap interface
* add helpers for creating and updating BoardState with maps