* 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>
* add utility methods to Editor and BoardStateEditor
* add Meta.Validate
* allow setting Meta.MinPlayers to zero
* remove uints in map sizes
* use Meta.Validate in HazardPitsMap
* castle_wall map
Wall of hazards around the board with dangerous bridges.
- add support for all standard board sizes
- hazard placement for all board sizes
* passage food placement for all board sizes
* 4 snake starting positions for all maps
* only one food can spawn on a bridge
* support 8 snakes for all board sizes
support 12 snakes on XLarge and XXLarge board sizes
* max 2 food sm/med/lg and max 4 food on xlg/xxlg
no food in the first 10 turns
* sort generated hazard positions
* remove 'uninteresting' castle wall map board sizes
* refactor castle wall map to align with #103
* align map castle wall meta Name with ID
* set MinPlayers to 1 for castle wall map
* pass max snake/food and startPosition to priv func
* fix castle wall food placement and refactor tests
* avoid food spawn by snake heads on castle wall map
- fixes forced food spawning infront of snake issue on large & xlarge maps with double walls