add option to set disconnected side to idle
add idle command, insert logging info when we break from idle
refactor code, "play_idle_loop" function

disable end turn while idle
add "controller" command to query the controller status of a side
:control now handles an idle side by reverting it to human before trying to transfer
improve performance of :droid when sides are idle
make :give_control dialog handle idle players correctly

in this commit we make request_control_change also do idle player switching,
we will see if this causes redundnancy in how :control and :droid are working