add ID support in Item class

ID support provides an easy way to find Item by a unique parameter.
The global consistency is not ensured by the Item class, to create Items
(and derivated classes) with safe unique IDs see ItemManager::createItem and
its derivated methods.

Add test cases relative to ID support for Items. The main idea of the ID field
is to be static, even if the Item change one or several of its fields during
the execution (the consistency is not ensured at the Item level, and by the
way there is no warranty of the unicity of the new generated ID)