Fixed physics/melee bugs. Monster melee now actually hits player, and no more friendly fire.

Added EntityRef. Stores an entity's id to resolve at a later date. Create using constructor or Entity.reference. Get the entity again by calling EntityRef.entity
USE THIS FOR KEEPING TRACK OF ENTITY(ESPECIALLY IN COMPONENTS). Do NOT declare local Entity variables anymore, because when an entity is removed, bad things will happen
EntityRef will return null when the entity is no longer valid. EntityRef is also serializeable, so feel free to use it in components(to keep track of parents, etc).

RemoveEntity now renamed to DestroyEntity to better state it's purpose(as that was how it was being used). The entity will be removed from all collections, and all components will now be cleared.
Before, components never got deleted even when an entity was no longer needed. Also added a shortcut Destroy() function to Entity, so no need to find world anymore.

If someone actually needs a RemoveEntity that only removes from the world but does not destroy the entity, I can implement one later. We have no use for it that I can see at the moment.