#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.
There's no item with the id "milk-bottle". The standard id name is <1 letter type><3 letter identifier><level>, so milk is fmil1. Type is broken down into f - food, w - weapon, a - armour, p - potion