Improved CFLAGS/CPPFLAGS handling

- Language extensions, such as _GNU_SOURCE are now enabled through
  CPPFLAGS by the configure script, rather than within the source code.
- Moved some configure-time CFLAGS to CPPFLAGS, where appropriate.
- Fixes bugreport:8211, thanks to Neoth
  http://hercules.ws/board/tracker/issue-8211-compiling-warning-in-linux

Signed-off-by: Haru <haru@dotalux.com>
Added guild_castle_invite and guild_castle_expulsion to guild.conf, they determine how invite/expel work inside castles during WoE/GvG
See: http://hercules.ws/board/topic/1623-additional-settings-in-guildconf/
Fixed a bug causing players to see unrelated guilds' #ally channels

- The issue would only happen if the #ally channel is on auto-join, when
  a guild is first loaded.
- Follow-up to cd2f5e4a687b2abbdb9d795e5c91b874aa0d2546
- Special thanks to Ind.

Signed-off-by: Haru <haru@dotalux.com>
Implemented MD_RANDOMTARGET, see doc/mob_db_mode_list.txt for more information
Added April 2014 Client Packet Data
HPMHookGen compatibility update for doxygen 1.8.7
Removed redundants
Removed CMakeLists.txt (Thanks to Haruna)
Removed 3rdparty/cmake and item_db.pl (Suggested by Haruna)