Core/Guild: Fix memory leak on Guild disband

Fix memory leak when disbanding a Guild, removed from GuildMgr but never deleted. Due to the different ways of how Guild::Disband() and Guild::DeleteMember() are called, each call to these methods has a different way to delete the Guild if empty/invalid.

Valgrind log:
 2,127 (240 direct, 1,887 indirect) bytes in 1 blocks are definitely lost in loss record 54 of 81
  at operator new(unsigned long) (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  by guild_commandscript::HandleGuildCreateCommand(ChatHandler*, char const*) (cs_guild.cpp:91)
  by ChatHandler::ExecuteCommandInTable(ChatCommand*, char const*, std::string const&) (Chat.cpp:339)
  by ChatHandler::ExecuteCommandInTable(ChatCommand*, char const*, std::string const&) (Chat.cpp:320)
  by ChatHandler::ParseCommands(char const*) (Chat.cpp:466)
  by WorldSession::HandleMessagechatOpcode(WorldPacket&) (ChatHandler.cpp:217)
  by WorldSession::Update(unsigned int, PacketFilter&) (WorldSession.cpp:317)
  by World::UpdateSessions(unsigned int) (World.cpp:2632)
  by World::Update(unsigned int) (World.cpp:1989)
  by WorldRunnable::run() (WorldRunnable.cpp:60)
  by ACE_Based::Thread::ThreadTask(void*) (Threading.cpp:186)
  by ACE_OS_Thread_Adapter::invoke() (in /usr/lib/libACE-6.0.3.so)
Merge pull request #10724 from jackpoz/guild_disband_leak

Core/Guild: Fix memory leak on Guild disband
Core/Battlegrounds: Allow random BG winner/loser rewards to be configurable

Signed-off-by: Machiavelli <machiavelli.trinity@gmail.com>
Scripts/Blood Furnace: Fix possible compile errors on old VS versions
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore.git
DB/Updates: AI fixups

By @Aokromes, fixes #10733 #10728
Merge branch 'master' of https://github.com/TrinityCore/TrinityCore.git
actualizacion trinitycore 07/09/13 01:18 pm