Fix bug of PlanStepEx clone method copies the Unique ID of the source

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Fix some W4 warnings and change IStrategizer.vcxproj and StarCraftModel.vcxproj settings to treat warnings as errors

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Saving the action's execution history
Merge branch 'action' of github.com:MHesham/IStrategizer into fili

Conflicts:
	Build/Debug/IStrategizerEx.cb
Enhance Action logging and provide a simple casebase

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Remove cloning postConditions in Action level
Fix bug of infinite recursive goal expansion
Merge branch 'fili' of https://github.com/ogail/IStrategizer into action

Conflicts:
	Build/Debug/IStrategizerEx.cb
	Source/IStrategizer/OnlinePlanExpansionExecution.cpp
Merge branch 'action' of github.com:MHesham/IStrategizer into fili

Conflicts:
	Build/Debug/IStrategizerEx.cb
Merge branch 'fili' of https://github.com/ogail/IStrategizer into action

Conflicts:
	Build/Debug/IStrategizerEx.cb

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Merge branch 'action' of github.com:MHesham/IStrategizer into fili

Conflicts:
	Source/IStrategizer/OnlinePlanExpansionExecution.cpp
Fix bug in recursive expansion prevention logic and Merge branch 'fili' of https://github.com/ogail/IStrategizer into action

Conflicts:
	Build/Debug/IStrategizerEx.cb
	Source/IStrategizer/OnlinePlanExpansionExecution.cpp
Adjust casebase
Merge branch 'action' of github.com:MHesham/IStrategizer into fili

Conflicts:
	Build/Debug/IStrategizerEx.cb
Change goal failure behavior
- If goal succeeded keep updating its children
- If action failed don't fail its satisfying goal
- Goal fail if all children finished executing and goal is not still not prepared yet
- Introduce the concept of Done node which means a node needs no further processing, it should be bypassed in plan graph update

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Change planner expansion and update logic
- For each goal node N, if its parent goal P in the belonging case is satisfied, then start executing N

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Merge branch 'action' of github.com:MHesham/IStrategizer into fili
Bug fixes + improving casebase
- Fixed metadata enum name
- Fixed improper assert in OLCBP
Bunch of changes for goals, action and online execution
- Implemented CollectResourcesGoal
- Added IsGatheringResource API to GameEntity. This API helps to check if the current unit is currently gathering specific resource type.
- Added AdaptParameters method to the GoalEx class. This method is used to adjust the goal parameters before sending it to retriever
- Added BuildInfrastructureGoal
- Changed Action.UpdateAux behavior to not fail if an action failed when it tries to start execution.
- Did some refactoring in AdapterEx and added condition to AdaptBuildingForTraining so it returns buildings that have empty training slots
- Enhanced GatherResourceAction to gather gas from refinaries
- Added LOG switch that disables logging in files if its not specified
- Changed expansion and execution to hand goals for parameter adaptation before retrieving cases for them
- Commented the reviser changes so we get a consistent behavior for plan retrieval.
Change BuildInfrastructureGoal to treat supply as consumable resource