* start implementing support for a nonplayer to view a game, and fully implement watching swing dice set for a nonplayer
Change input variable $attackers to BMAttack->commit_attack() so that the attack log is correct
Merge pull request #459 from blackshadowshade/451_morphing_log

Correctly show effect of morphing attack in attack log
- Set ownerObject correctly when loading games
- Fixed skill setting after swing die splitting
Removed debug code
Added unit tests to lock in behaviour with berserk poison dice
* when a PHP fatal error causes the response to be a string rather than an object, let the user know something went wrong
Merge pull request #466 from blackshadowshade/460_berserk_poison

Fixed skill setting for split swing dice
Merge branch 'master' of github.com:buttonmen-dev/buttonmen into 145_bystander
* add and test Nonplayer functions for all other game states
* add missing semicolons
* fix checkstyle errors introduced into dummy_responder
* add some new Game.js tests to improve code coverage a bit
* add a few more Game.js tests to improve coverage
* make a generic Api.apiPost routine and call it from Api
* move getUserPrefs into Api and use the new framework for it
* make another routine for api form submission, and invoke it when setting user prefs
* use the new API form post method for createGame
* createUser should use apiFormPost
* remove unused data argument to newuser status function to make jshint happy