add ItemNumber::getItemNumber()

Provides information at a global scope.
The returned value is updated at each successful call to an
ItemManager::create method.
add TagManager pointer in each Item

The idea is to let each Item handle Tag management with a global TagManager.
Field updates are simple with this solution.
Add static member name_piority in Item

Add TagManager::createTagsFromItem and TagManager::deleteTagsFromItems to
handle field updates in Item.
Item documentation cleaning

Add documentation to Tag management hooks.
Change consistency errors from \warning to \bug

Remove quoted methods.
Set addTags, deleteTags and updateTags virtual.
add Item::setName method

Tag list management is ensured.
add TagManager::deleteTagsFromItem with a Tag vector as parameter

Improves performances if the caller even know the Tag list (otherwise it
should pass a string representing the Tags, which needed to be parsed and
extracted Tag refound).

Modification of the base Item deleteTags method with a call to this new method
(the Item know the Tag vector to unregister to).
add CoreException class

Modification of the exception type in Item class from std::logic_error to
CoreException. New exception thrown in addTags, deleteTags and updateTags
when no TagManager is associated to the class.
add exception support in Item constructor and setName methods

Basic implementation is to ignore TaggerException and CoreException thrown
during the add/delete/updateTag methods. It may be overriden in subclasses if
an other behaviour is expected.

The main idea is to let the Item construct and setter finish if it cannot
update its tag list. The consistency error resulting is not worst enough to
justify an exception.