Code cleanup
Avoid unnecessary copying

Item description string buffer was being copied even if we didn't have
to modify it. We will now check if it ends with a dot by reference, and
create a temporary copy only if it needs to be modified.
Add move constructor to WildcardTreeNode