[12429] Fix possible memory corruption related to loading pet-spells

Fix cmangos/issues#158 (part for new creation of pets)
Thanks to tarwyn for pointing
rewrite network stack using Boost::Asio library.

You need Boost 1.5.3 in order to compile new sources.
fix crashes due to incorrect code in NetworkManager::Stop() function
use exceptions as standard mechanism to work with ASIO errors
use boost::mutex instead of boost::recursive_mutex as default synchronization primitive for Socket class
move NetworkThread::Add/RemoveSocket() calls from Socket to NetworkManager class
small refactoring
make Socket::close() method private