Feature/map objects

Still WiP but should be stable enough for testing.

What would need testing in dev build:
- Appearance of all objects on map
- Creature banks
- Pickable objects like chests
- Objects that give bonuses like idol of fortune
- Once visitables like Skeletons
- Once per hero visitables, e.g. Star Axis
- Once per week visitables, Windmill

Major changes:
- Split of huge CObjectHandler.cpp into set of files located in lib/mapObjects directory
- addition of "object types handler", will be merged into object handler later
- Partially replaced set of visitable objects with "configurable object" - mechanics is shared but initialization is still separate. There is also not yet tested support for loading config from json instead of using hardcoded mechanics.
- Some objects like Banks can be constructed and configured via 1 call to object type handler. Rest of objects that are not supported at the moment will only have their ID/subID/appearance set.
- configuration for some map objects is now in config/mapObjects directory. Including support for loading random objects with parameters from Json (e.g. random artifact that must be relic)
- templates can be filtered by allowed terrains (used for towns and should be used for RMG). Note that this may lead to situations where there are no templates available on a specific terrain. This should be interpreted as illegal objects (e.g. forest in water).
- some changes in modding formats, not yet updated on wiki, that give mods control over map objects representing towns/heroes.

Known issues:
- miscellaneous text like hover text may not match H3
- some "unique" functionality like champion upgrade at stables is disabled for now
- VCMI can load RMG config (max per zone, object value, etc) but as of now this information is not present in config. Somebody should take care of this. Will ask on forums for help with this (and some other configs).
- Changing object type in config may lead to unexpected effect, most notably in loading such objects from map