Correctly handle castling as a requested move

Can now handle opponent castling without crashing.  Can now play some
online opponents.
Fix rare divide by zero crash.