Fix failing test for agent
Add Farmer as production unit
Change fields in Agent

- Removed money, this is handled through coins in inventory
- Added name and if None, use repr
- Fixed broken test
Make farmers produce food from wood

- Update steps
- Fixed scenario outlines (damn capital letters)
- Add production mechanics for farmer
- Also added unit tests
Add miner

A miner creates ore from food
Refactor worker subclasses to strategy pattern

Each agent now gets a production method assigned based on its
occupation.
Required refactoring of subclasses into strategy pattern. Each strategy
is a production method which is assigned when initializing the agent.
Fixed handling of strategies

Major bug in the handling of the dfferent production strategies. I was
passing in objects to cover the self-parameter, but this was wrong. Now
I use types in the proper way
Add woodcutter

A woodchucker chucks wood and I forget how the rest of that goes…
Add blacksmithing and refining

Also fix several small bugs that cropped up