Resources are now created with parameters

After a resource is created it can be retrieved via get. If a resource has already been created that resource
is returned on subsequent calls to create.
Renamed ResourceSsytem to ResourceSystem
Renamed GLSLShader to Shader and moved it into the resource namespace
Changed how resources are defined

Now a resource must inherit from ResourceBase, and then you must call ResourceSystem::Register<MyType>(); to make the factory method available.
Shader is now a proper resource
The sc property meshFilename is now just mesh to be more consistent

Also cullFace is cullface.

SC files must be updated to reflect this, or wait for the JSON commit.
Commented out the static_assert in ResourceSystem.h as gcc complains
Fixed some compiler issues
Fixed GGTest is fixed

Now it will look inside the tests source folder include/ for the GTest header and the lib/ folder for the libs.

Added gtest file filter to .gitignore.

Put the FindGTest.cmake in the tests modules folder instead.

Removed EntityManager test.
Fixed the tests for VectorMapTest

Also fixed a 64bit build specific function to the more generic form.
spelling: GetInstace to GetInstance on ResourceSystem, refactored sound code to use new resource system, added sanity checks in BulletShapeMesh.
Merge pull request #163 from Meisaka/ecs

Sound uses Resource system in ecs
Changed up a lot of includes round 1

This should increase build times quite a bit.
Fixed an include guard
Move GetTypeName/ID into Sigma.h, and put it in the reflection namespace

These methods can be used for any type for which reflection is desired.