Move typedefs to a separate header file

Conflicts:
	You-DataStore-Tests/datastore_test.cpp
	You-DataStore/You-DataStore.vcxproj
	You-DataStore/You-DataStore.vcxproj.filters
	You-DataStore/datastore.h
	You-DataStore/internal/internal_datastore.cpp
	You-DataStore/internal/internal_datastore.h
	You-DataStore/internal/operation.h
Fix bug due to cherry-pick
Document internal datastore unit tests
Add a few documentations
Add unit test as friend class for InternalDataStore

Conflicts:
	You-DataStore/internal/internal_datastore.h
Checks private variable for Post_Basic_Test
Move tests for get method to top, as it will be used by other methods for test assertions
Add a new dummy task for InternalDataStore unit test
Add more assertions for post duplicate id unit test
Add more assertions to put basic test
Add more assertions to Put_FalseId_Test
Add more assertions to basic erase test
Add Test Coverage calculation
Add code coverage result to .gigitgnore
Change static cast to lexical cast
Create unit test file for API
Create stubs for class datastore and transaction
Create skeleton for transaction class
Create skeleton for datastore API
Move typedefs to datastore.h, fix reference to those typedefs