Updated cmake minimum version and added template versions of the get value functions in SyncContext
Restructured source directories