Monster events & Lua changes

You can now properly compare userdata, for example (player == player)
correctly.
New Lua functions
creature:canSee()
creature:canSeeCreature()
creature:setTarget()
creature:getFollowCreature()
creature:setFollowCreature()
creature:setMaster()
monster:isOpponent()
monster:isFriend()
monster:selectTarget()
New creatureevents & Lua functions

onChangeHealth
onChangeMana

monster:isIdle()
monster:setIdle()
MonsterType class for Lua

Game.getSpectators & Game.getPlayers was also added.
More Lua functions
Bugfix for text messages.
Remove unused functions
Market fix
Remove Status class

The Status class wasn't thread safe. Most code has been moved to
ProtocolStatus, with dispatcher calls to prevent data corruption.
Drop support for Visual Studio 2012

As Visual Studio 2013 has been released, VS2012 users are advised to
upgrade.
Remove config option displayOnOrOffAtCharlist

The code becomes messy with protocol >= 10.20, and calling
g_game.getPlayerByName from asio thread isn't safe.
Fix build error
Proper fix
Fix bug with account bans
Protocol version 10.21
Tweak connection flood threshold
Remove unused includes
Fix Lua function Vocation:getManaGainAmount
Bug fix & Lua functions
Update vc12 settings.props for TFS SDK v2.0

If you are having problems compiling on Windows, please see:
https://github.com/otland/forgottenserver/wiki/Compiling-on-Windows

(At the time of this commit, TFS SDK v2.0 has not been released yet, but
is being worked on. Once it has been released, the link on the Wiki page
will point to it.)
Major code cleanup

Removed unused functions
Mark functions that don't change data members as const
Use static functions instead of singleton for classes without data
members