- Added creation time timestamp to game database table
- Added logic to update creation time timestamp on game creation and joining open game
Added newline termination to SQL update file
Reduced cyclomatic complexity of BMAttack->commit_attack()
Reduced cyclomatic complexity of BMAttackSkill->validate_attack()
Fixed UnusedFormalParameter warnings in BMAttackSkill->is_direct_attack_valid()
Changed visibility of BMDie properties to enable use of getters and setters
Refactored BMDie->__set() and BMGame->__set to call set_*() functions
- Removed UnusedFormalParameter warnings
- Refactored BMDieTwin->describe()
Refactored BMGame->set__attack() and BMGame->set__buttonArray() to reduce cyclomatic complexity
Refactored BMGameAction->friendly_message_attack() to reduce cyclomatic complexity
Refactored BMGame->__get() to reduce cyclomatic complexity
Refactored BMGame->react_to_initiative_decline() to reduce cyclomatic complexity
Refactored BMGame->react_to_initiative_focus() to reduce cyclomatic complexity
Fixed checkstyle errors
Cleanup

Renamed "search_results" to "game_history", replaced gatekeeper return
with else { } block, fixed player name type to alnum, changed linebreak
in OpenGames.displayJoinResult, and concealed default History parameters
from URL.
Fixed refactoring of BMGame->react_to_initiative_focus()
Refactored BMGame->getJsonData()
Continued refactoring of BMGame->getJsonData() subfunctions
Finished refactoring of BMGame->getJsonData() subfunctions
Refactored DummyApiResponder load functions