Idle controller

this PR allows "controller = idle" to be a valid local controller value, which the host may assign to a disconnected side. i have tried to make sure that other control commands like :control, :droid, and :give_control all work correctly after this happens. the server and other clients never learn about it.

it also adds :idle and :controller commands. The first toggles between the idle state and human controlled state, and the second queries the current controller state of a side of a given number.

possible areas for improvement might be making the idle message go to all networked players so that they understand what is going on

see this feature request / bug report: https://gna.org/bugs/?21405