fix #2

The solution is to verify at each child addition if the container already has a child with the same name.
In that case a std::logic_error is raised.

Note :
This commit also include a new feature for the composite pattern : the containsSubItem method,
wich has the same body than getSubItem but doesn't construct an Item. It just returns true if the wanted Item is in the container's child list, false otherwhise.