Started with the MiniMax algorithm
Created unit tests for the move invertion
Merge branch 'master' into MinMaxAI_3

Conflicts:
	Engine/Engine.vcxproj.filters
	Engine/IBoard.h
	Engine/Move.h
added a matrix to represent the initial board state
inverted the set bottem and top in the grid
outputted a string, now I'am proud
Renewed the Move class and changed code accordingly
Cherrypick: Wrapped Vector2D

Conflicts:
	Engine.Wrapper/Engine.Wrapper.vcxproj
	Engine.Wrapper/Engine.Wrapper.vcxproj.filters
	Engine.Wrapper/KaroGame.cpp
Made boardwrapper public
the unit test suceeds jeej
Merge branch 'master' into MinMaxAI_3

Conflicts:
	Engine.Tests.Unit/Engine.Tests.Unit.vcxproj.filters
	Engine.Wrapper/Engine.Wrapper.vcxproj
	Engine.Wrapper/Engine.Wrapper.vcxproj.filters
	Engine.Wrapper/KaroGame.cpp
	Engine.Wrapper/Vector2DWrapper.h
	Engine/Vector2D.h
cleaned up the unit test
Merge branch 'master' into Board_1
Merge branch 'master' into 2dfrontend_2
Made TileWrapper public.
Made TileWrapper public.
Added TileValue wrapper.
Merge branch 'clrwrapper_16' into 2dfrontend_2
Resolved build errors after merge
Updated MoveWrapper to the new Move class