Updated API to return actions

Instead of the long-running LUA methods that are asynchronously paused and resumed, I have updated the main turn function api (called choose_turn_actions now) to return zero or more actions to take.  The bot will then queue these actions and schedule them to be performed.  Once actions are played out the turn function is called again, and once it returns no more actions the turn is ended.  I updated all the existing APIs to return the actions, and removed the code that was no longer needed after the refactor.