OLCBP:
- Modify the planner to destroy recursively complex and composite parallel plans
- The planner now send the case to reviser to revise its performance if it failed
- The retainer now flushed the case-base back after each game to save the new cases performance if any of them was revised

Exception System:
- Add IStrategizer exception handling system
- Disable 4290 warning from all project which is related to exception specification
- CrossMap now throws exception if a non-existing key was used to access a value

Signed-off-by: Muhamad Lotfy <mhesham.fcis@gmail.com>
Refactor BwapiClient.cpp
Fix compilation error due to extra space added mistakenly.

Signed-off-by: Muhamad Lotfy <mhesham.fcis@gmail.com>
Integrate the engine with BWAPI 4
- BWAPI files (include/lib) are part of the repo instead of depending on installation to copy them from BWAPI folder
- Make appropriate code changes to compile with the new BWAPI 4 types, for example Player/Unit classes are typedef pointers to PlayerInterface/UnitInterface classes
- BWAPI.h in BWAPI4 includes all required BWAPI files which are common to development, so now BWAPI.h is the only file from BWAPI framework included in the engine projects and all old specific includes have been removed e.g #include "BWAPI\Unit.h"
- reformat some source files which were improperly formatted
- change the directory of the BWAPI lib/include files to be common to the whole engine project instead of having 2 different copies of them in each project that needs them

Signed-off-by: Muhamad Lotfy <mhesham.fcis@gmail.com>
Merge pull request #19 from MHesham/master

A functional IStrategizer with BWAPI4
Merge branch 'master' of github.com:RtsAiResearch/IStrategizer