Removed some unused stuff from the Entity "class"
Added a more flexible property class template

The new Property template can use a third-party getter /
setter. The old property has been renamed to SimpleProperty
and still maintains its own internal value.
Tweaked SharedData template
Adding and removing components is now thread-safe
Introduced the EntityManager for global components