Fixup side drop mechanism

*** EXPERIMENTAL! This branch has been tested and partially merged and now contains some commits which I'm not sure are necessary. ***
This branch was aimed at fixing bug 21459. https://gna.org/bugs/index.php?21459
This bug is now believed to be fixed.

The changes which were not merged.
- Maybe_do_initside checks if the side we are resetting matches the current player when considering whether to init.