Merge pull request #124 from ogail/master

Learning from Human Demonistration and Improvements for Online Expansion and Execution
Changes to the learning from human module
- Fix BuildInfrastructureGoal learning from human
- Change CollectResourceGoal to be learnt in case of using new gatherer only
- Change GameTraceCollector to remove duplicated GatherResource and Attach actions
Merge branch 'master' of https://github.com/ogail/IStrategizer into action
Merge branch 'LFHD' of https://github.com/ogail/IStrategizer into action
Give the plan graph the ability to visualize itself as a string
- Remove the definition of OlcbpPlan from EngineData.h and move it to CaseEx which make sense

Signed-off-by: MHesham <mhesham.fcis@gmail.com>
Bunch of changes to learning from human demonistration
- Fixed LFHD to work on simple replays just fine. This required bunch of fixes in other engine's code
- Added TrainForce goal.
- Commented TrainArmy goal.
- Did a quick workaround to overcome watching a replay with 2 human players.
- Fixed problem with GatherResourceAction to get resource blocks that can be gathered by workers.
Lower the number of learnt cases to reduce perf hit.