Breaking things - first commit towards configurable object(s).
- New files: lib/CObjectWithReward.h/cpp
- Classes that will be replaced by configurable object are now in this
fil

Status: far from functional, currently at "it compiles" point, some
essential pieces are still missing.
Merge remote-tracking branch 'upstream/develop' into mapObjects
More work on configurable objects:
- maps can be started
- visiting will be registered properly
Heroes will be properly marked as visited on visiting
Core functionality for new objects in now in place, not yet tested
- added selection of rewards
- moved "on grant" message to reward struct
- multiple minor fixes
Some bugfixing, basic functionality of map objects seems to be working
Fixed some missing elements, mostly messages
Player can refuse single reward (e.g. Tree of Knowledge)
Added possibility to add custom components to reward description.
Used to properly display morale/luck rewards since bonuses don't provide
components associated with them.
It is possible to remove object as part of "reward"
backup of current progress, started design of "Object configurer" that
will be responsible for configuring of ObjectWithReward's from json
config.
- Added new files that should have been in last commit
Mostly final interface for object type handler
Partial implementation of object with reward constructor
Finalization of object type handler interface
- updated code to use new interface
- removed old DefObjHandler (todo - rename file)

Summary:
- most code but loading is now in place
- type names may deserve improvements (some of them are too similar)
- still barely compiles and not tested
Implemented basic loading from JSON
Object class handler is now a proper "handler"
- Some changes in interfaces
- Fixed some missing fields in serialization
- Moved object names to new handler
Moving files:
- new config for objects (config/objects/generic.json)
- renamed lib/CDefObjectHandler to lib/CObjectClassesHandler
- First part of objects configuration
- split objects into 3 files (for now)
- integrated object class handler into mod handler
Merge branch 'develop' of https://github.com/vcmi/vcmi into RMG
Corrected guard calculation to match OH3.