Add the Property class

This class is at its core boost::any with a name.

It is not in the trillek namespace as it can be used in a very general usage.

Appropriate tests are included and the tests main is updated to include it.
Added ResourceSystem

In order to facilitate testing the very simple non-functional TextFile resource was created.
This resource does nothing, but will allow other's to create resources based on it. Also it is
needed for the tests.

Reflection templates have been added to Trillek.h. These are mostly useful for resource
types, but other classes can use them for example for streaming of the network.

The tests CMakeLists was modified to adjust the binary output path and to add the
src/ directory under tests for those tests that require actual source files. This was done to
selectively and manually added specific source files, and not just add every single one
in the project.

Also fixed the includes in PropertyTest.h and changed include guards from #pragma to #ifdef.
Fixed erroneous usage of visual studio specific range-based for-loop
Final fix for erroneous usage of for each
Removed some tests that didn't work as expected across all platforms

The tests were testing an edge case that isn't likely to happen.
Merge branch 'feature-resource-system' into develop