Core/Opcodes: Support opcodes with the same ids and different direction

- Split enum Opcodes in enum OpcodeMisc/OpcodeClient/OpcodeServer
	- Old MSGs are temporarly in the enum OpcodeClient
- Split _internalTable of OpcodeTable in two tables, one for CMSG opcodes and another for SMSG opcodes

Note: most added static_cast<OpcodeX> will be removed once WorldPacket
is split in two classes (ServerPacket/ClientPacket, see #13434)