Java version of the GildedRose code kata (from: http://www.iamnotmyself.com/2011/02/13/RefactorThisTheGildedRoseKata.aspx)