[WIP] Added ItemData to Item API

Added `ItemData` to `ItemStack`s similar to Bukkits `ItemMeta`.
This is a concept and not a ready to pull PR.

**Added**
- `ItemData`
  - `Book` (Written book)
  - `Colored` (`Color` for leather armor)
  - `Dyed` (`DyeColor`)
  - `EnchantmentStorage` (Enchanment book)
  - `Entitied` (`EntityType` for spawn eggs)
- `GameRegistry`
  - `createItemDataBuider(ItemType)`
  - `createItemStackBuider(ItemType)`
  - `createItemStackBuider(ItemData)`
  - `createItemStackBuilder(ItemStack)`

**Additional information**
* I did not add all types yet
* Names are just a starting point, suggestions?
* ItemData are immutable

**TBD**
Shall we use a system similar to this one?
Add persitance/persistable (not part of this PR)
Add `EntityState`/ `EntitySnapshot` to `Entitied` item data
Why don't you use Generics for this one?
```java
public static interface ItemDataBuilder<D extends ItemData> {

  D build();

}
```