Add Fire, Rotation. Document Health, Hunger, Position, Velocity

components-system branch: Big thanks to @Zidane for starting components up
Documented some values with "value in {link org.spongepowered.api.math.Vector3i Vector3i}" due to the fact that new people may not be used to using Vector3i
Since when does an entity system has an entity type?

In an ideal ES an entity should be nothing more than an integer, which works but would be inconvenient if you want to get its components - thats why its often a class storing its ID and the manager it came from.

A "type" generally does not exist. There is an "EntityFactory" that you call to create your entities when you have your specific entity types (creeper, skeleton, player, vehicle, item...). The getID for the type component is redundant when you just add a component thats holds the model-ID, something like "Renderable" or "Model". This current system is kind of mixing the OOP and ES approach together, which can quickly go into chaos imo …

Since the Mod-maker should be able to create entities as well, the EntityFactory is just a helper class to not write the same code over and over and over. We could add some more methods to it as well though. Some example code:

```java
public interface EntityCreator {
  Entity createEntity(EntityFactory factory, EntitySystem system);
}

public interface EntityFactory {
  // General Vanilla mobs - we could even leave those out...
  Entity createCreeper();
  Entity createSkeleton();
  // ...
 
  // Helper methods
  void addLivingAttributes(Entity entity); // Adds position, velocity and health

  // Custom entity support
  void addEntitySupport(String id, EntityCreator creator);
  Entity createEntity(String id);
}
```

Example usage:
```java
public class MinirobotEntityCreator implements EntityCreator {
  @Override
  public Entity createEntity(EntityFactory factory, EntitySystem system) {
    Entity entity = system.createEntity();
    factory.addLivingAttributes(entity);

    // Add custom and other components ...
    entity.addComponent(SmartMovement.class);
    entity.addComponent(Storage.class);
  }
}
```