Const-correctness & removal of const_casts
Use final/override and remove unnecessary virtual specifiers
Update .travis.yml to use clang and newer g++ version
Remove clang from .travis.yml
Use emplace for map insertions
Use emplace for map insertion
std::move eventDesc
Fix bug with vocation gainCap

Fixes #1041
Remove unnecessary virtual specifiers
combat events & more

Creature:onAreaCombat
Creature:onTargetCombat
Player:onGainSkillTries now runs when using magic
Merge pull request #1046 from dalkon/master

combat events & more
Add 10 new item attributes

The following item attributes can now be customized for items: name,
article, pluralname, weight, attack, defense, extradefense, armor,
hitchance and shootrange.
Serialization for the new item attributes

This commit also cleans up the serialization code in other classes.
Fix Item.getAttribute for new attributes
Replace C-style casts with C++-style casts everywhere
Remove unnecessary if-statement
This commit removes the pain from most 64-bit OS X users when compiling and running TFS
Add Lua function Item.hasAttribute
Use pushBoolean instead of lua_pushboolean
New ItemType functions.

ItemType:getClientId() is necessary for OTClient purposes.