Added skeleton for BMSkillFire
Added skill-level tests for Fire skill
Merge remote-tracking branch 'upstream/master' into 258_fire
- Added restriction that Fire dice cannot perform Power attacks
- Added Fire skill to list of supported skills and updated unit tests
Added new game state BMGameState::ADJUST_FIRE_DICE
Added new dummy game state BMGameState::COMMIT_ATTACK
Shifted logic out of BMGameState::START_TURN into BMGameState::COMMIT_ATTACK
Merge remote-tracking branch 'upstream/master' into 258_fire
Added constraint that dice can only be fired up to their maximum value
Added unit tests to check that help cannot boost a die value above the die max
- Shifted attack-validation logic to BMGameState::START_TURN
- Added logic to stop game state progression at BMGameState::ADJUST_FIRE_DICE when the attack values are insufficient
Added new optional firing/help parameter to validate_attack for BMAttackPower and BMAttackSkill.

Note that the logic currently fails for konstant dice that are being fired and also contributing negative values.
Added BMGame->turn_down_fire_dice()
Fixed logic for advancing between game states when firing
Cleared BMGame->firingAmount at end of turn
- Added BMInterface->adjust_fire()
- Changed BMGame-level function naming and input arguments to make them consistent with BMGame->react_to_initiative()
- Completed BMInterface->adjust_fire()
- Added BMGame-level unit test for cancelled fire action
Added die flags to indicate whether a die is an attacker or an attack target
- Added logic to store attack type in 'IsAttacker' die flag, to allow regeneration later during firing
- Changed output of flag properties to only output the flag type, not flag values
- Changed die flag regeneration from string so that the array key only has the type, not the value, of the flag
- Fixed attack regeneration