#136 Clean Item object separate ItemRepository, for data loading

Makes the Item a clean domain object and moves loading of item instance, into the ItemRepository. Adds related unit tests.
Adds item-type as additional field in Item.
Ok, this was just a quick test I introduced. Not really aware of any standard for the ids. Is it somewhere explained? As I thought that there was already some logic behind it.