[Engine refactored]

- entity.id doesnt increment anymore
- system.addEntity and system.removeEntity rewritten and adjusted to new entity management
- Cutieimages from menuState and selectState removed
- engine:addEntity entities now get a random hash which is saved in entity.id and are sorted in hashtables
- engine.requirements is a new table in which all components in combination with their requiring systems are
saved.
- engine:refreshEntity now only refresh Entities. It has two new Parameters "added" and "removed". With
those parameters you can specify what changes the entity received.
- engine:removeEntity refactored
Refactored Engine nearly fixed

- engine:addEntity fixed.
- engine:removeEntity refactored. Adjusted to new entity database.
- engine:refreshEntity fixed
- engine:getEntitylist. Adjusted to new entity management there is a little bug here.

- Systems adjusted to new engine:refreshEntity parameters
engine:addEntity fixed. It now registers added entities to systems properly.
Debug code removed. getEntitylist still not working
Engine nearly finished, everything is now working!

- Added engine:refeshEntity to Collisions
- Removed Debugcode from gameOverState
- Fixed Backgroundentity in levelOneState
- Fixed typo in engine:removeEntity()
- fixed bug in engine:removeEntity()
- fixed bug in engine:refreshEntity()
- removed Debugcode in MineProximitySystem:update()
- I wrote a workaround for engine:getEntitylist(component) for not existing Entitylists.
       Every component has a own table in engine and every entity that contains this component
       is listed in those table.
Merge branch 'master' into enginefix

Conflicts:
	src/systems/physic/bodyDestroySystem.lua
Used the new Menu Concept. Looks great.
Bugs fixed

- itemDrawSystem doesnt crash anymore, if item isn't loaded yet
- lifebar isn't super long anylonger, if life is negative
Bugs fixed

- Explosionparticle entities are now getting deleted.
- getEntitielist returned nil fixed.
Removed old getEntitylist code
Bug fixed

- Entities were multiple added to componentlists. Bug fixed
Issue #16 Item Output Point
Bug fixed

- Physic bodys now are only attempted to be removed if body.destroy is existing.
- Debugmessages in engine removed
Engine refactored other changes

- Engine:refreshEngine replaced by Engine:componentAdded and Engine:componentRemoved
- Engine.entities refactored. Entities now get normal ids. If an entity gets deleted
its id is saved in Engine.stack and used as key for the next entity added to the engine.
- Engine[component.__name] refactored. Entities now have their id as key for fast access
- refactored all functions in Engine for new Entitylists
- System.targets now has entity ids as keys
- Playercreation moved to LevelOneState
- Entity creation in LevelOne now uses local wall istead of self.wall
- engine:refreshEntity replaced in events and systems
Some Bugs fixed, engine optimized

- engine:removeEntity function optimized for new sorting system.
- removeEntityWithPhysics removed unnessecary code
- copy functions in util added, reset Indice function for table copy added
- DrawableDrawSystem fixed. Now adjusted to new System sorting.
BodyDestroySystem deleted

- BodyDestroySystem deleted
- destroyComponent deleted
- Collisions updated
Systems and Engine refactored

- ParticleDeleteSystem renamed, because its main function is actually updating.
- maxSpeedSystem removed and speedLimitSystem renamed in maxSpeedSystem. It's the same system with two names
- Indice in LevelState adjusted
- PlayerDeathCheckSystem added, old code from LevelState removed
- EnemySpawnSystem refactored
- MineGroundCollision to CollisionSelectSystem added
- Comments for every System added, german comments are now hopefully translated correctly.
Bug fixed

    - Fixed an extremly annoying bug!
        Entitiy id's were assigned to entities twice.
Merge branch 'enginefix'