add proxy_controller type to teams

Proxy controller is a field of team, parallel to controller, but
intended only as an interface option and should not be visible to
wml / lua, nor synced with other players or the server, nor saved
in savefiles. The proxy controller indicates "who is making the
moves" rather than "who is getting credit for it". The controller
type, by contrast, affects the victory / defeat results of a
scenario and needs to be synced so that all players can save the
game and get sane controller types when they reload.

Currently the proxy controller only affects human controlled sides,
although in principle it could be changed to affect AI sides also.
(temporarily make an AI side human controlled?)

This commit changes the implementation of "idle" sides to use
proxy controller instead of controller, which is much cleaner and
reduces complications. It changes the ":droid" and ":idle" commands
to use it also.

After this commit, there is no way to actually change controller
types between AI and HUMAN as far as I know. We could consider to
add commands :make_ai / :make_human for this purpose.