Implemented basic path following through behavior trees.
Details:
- made BTState a c++11 enum class BTNodeState
- added support to BTNodeState in Debug::operator()
- implemented LocationModel serialization
- added Agent::BTPath shortcut to btModel()->BTPath
- added path roots management to LocationModelManager. LocationModels now are doubly linked btw.
- Agent::popBT now always succeeds
- implemented Agent::stopFollowingPath
- Level now saves managers per ModelType. Each managers has the liberty to serialize its models and/or to save its own persistent data.
- added JsonUtils::asVector3, JsonUtils::asUnsignedLongList, JsonUtils::asStringUnsignedLongMap
- fixed BTStateStream default & copy ctor
- addedBlackBoardModel::unsetVariable
- moved btModel linking to blackboardModel to BlackboardModelManager, added automatic blackboardModel attachment upon btModel variable saving
- added btModel state serialization
- fixed BTModel ctors
- implemented BTFinder basic functionality (find by path name)
- implemented BTNavigator basic functionality (move to agent target)
- _ModelManager.h/cpp: formatting