build fix for mac os:

1) type_info visibility for CatapultAttack
```
Undefined symbols for architecture x86_64:
  "typeinfo for CatapultAttack", referenced from:
      std::type_info const* CTypeList::getTypeInfo<CatapultAttack>(CatapultAttack const*) in Client.o
```
2) using IObjectInfo::CArmyStructure in min_element : operator< should be const
```
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../lib/c++/v1/algorithm:685:97: error: invalid operands to binary expression ('const IObjectInfo::CArmyStructure' and 'const IObjectInfo::CArmyStructure')
    _LIBCPP_INLINE_VISIBILITY bool operator()(const _T1& __x, const _T1& __y) const {return __x < __y;}
                                                                                            ~~~ ^ ~~~
...
vcmi/lib/mapObjects/CObjectClassesHandler.h:67:8: note: candidate function not viable: 'this' argument has type 'const IObjectInfo::CArmyStructure', but method is not marked const
                bool operator <(const CArmyStructure & other)
```
3)
```
Undefined symbols for architecture x86_64:
  "operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, EVictoryLossCheckResult const&)", referenced from:
      void boost::io::detail::put_last<char, std::__1::char_traits<char>, EVictoryLossCheckResult>(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, EVictoryLossCheckResult const&) in VCAI.o
```