Wide Replay Action parsing refacotring and Unit-testing Support

- Add support for Google Test framework, by adding a libReplayToolTest project to test libReplayTool.
- Separate ReplayTool core files into a library libReplayTool.lib.
- Reference the libReplayTool.lib from Replay_Tool and ReplayToolTest projects.
- ParseActions functions now uses IReplayReader as its dependency instead of a concrete ReplayReader, this loose coupling will help in mocking and testing.
- ReplayReader which reads directly replays from disk now extends IReplayReader to ease testing and mocking.
- Provide a ReplayReaderWrap to simplify reading operations frmo the replay by encapsulating IReplayReader.
- ParseActions now uses action objects returned from the reply actions factory to drive tha replay parsing.
- ParseActions now return a list of actions, so that the caller can do whatever he wants.
- To keep the old behavior of Replay_Tool, the returned actions from ParseActions are logged to a file same as before.
- Add a noob test for Action factory when asked for Research action.
- Add a noob test for a Research action.
- Add a preliminary Mock class for IReplayReader interface to be use din the future.