Introduce a basic FSM to implement the Thief Bot
Add a move engine to encapsulate path finding and add a bot factory
Introduce a DecisionEngine to encapsulate the use of FSM
Add goto-tavern behavior
Add a goto-mine state
Ensure to steal not already owned mine
Introduce the expression language and try a first evaluate on hurted
transition
Add a dedicated expression loader to add a listener on FSM
Re-organize ExpressionLoader and FSM data to group condition and action
in transition
Deal with transitions actions
Add target expression has property on state to refresh at each turn
Load FSM from a yml file
Move starter client
Restore whole life when go to the tavern
Remove TerrainCostFactory, add methods in board to determine shortest
path and closest destination (mines, taverns, etc)
Add a command argument to choose the map to use in training mode
Update terrain cost to avoid deadlock on big maps
Update doc