Shared: Socket listen errors are presented to the user.
Magic system: removed an accidental 2nd call to SendItemMove(2) (the first is handled by SetUserAbility()).
Game server: Cleaned up & updated CUser::KickOutZoneUser().
Shared: Ensure all code paths return correctly.
Game server: implemented more thorough 'can attack' logic, taking into account official 1.310 NPC nation behaviour (nation 3).
AI server: updated the non-attacking objects list (pointless anyway).